Tarea # 2 Richard Douglas Grijalba
Qué se requiere analizar en una empresa para determinar la salud o liquidez financiera?
Según la información brindada se puede inferir si una empresa puede o no caer en bancarrota?
# Importacion de bibliotecas
import numpy as np
import pandas as pd
from sklearn.datasets import make_blobs
import matplotlib.pyplot as plt
from matplotlib import style
import seaborn as sns
from sklearn.mixture import GaussianMixture #GMM
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
import warnings
warnings.filterwarnings('ignore')
import argparse
from sklearn.preprocessing import MinMaxScaler
from sklearn.decomposition import PCA
from sklearn.cluster import KMeans
from kneed import KneeLocator
import plotly.graph_objects as go
from plotly.subplots import make_subplots
sns.set()
pip install Kneed
data = pd.read_csv('/content/drive/MyDrive/Data Sets/data 3.csv')
data.head(5) # corresponde a un datset de información financiera, en la que presenta información relevante (ratios financieros)
# que permiten determinar el nivel de liquidez financiera.
Definiciones o Conceptos Financieros Básicos
Algunas variables pueden parecer la misma o muy similares, sin embargo corresponde a un mismo ratio financiero que se le modifica alguna variable en el proceso de su cálculo, por ejemplo la prueba de liquidez en el activo corriente, y posterior a eso existe la misma prueba pero restandole el valor de los inventarios (prueba acida).
Los Ratios Financieros (razones financieras) pueden clasificarse según la finalidad de la información a valor, Ratios de Liquidez, Gestión, Endeudamiento o Ratios de Rentabilidad, la impportancia o utilidad de los ratios financieros recae en que por medio de un valor o factor, permite evaluar un aspecto de la operación,gestión o inversión de una compañía, sin necesidad de ller un informe extenson, una vez que la persona observa los ratios, amplía en información sobre aquellos que le llamó la atención. En lo que respecta a otros indicadores, las personas tienden a confundir flujo de caja con Utilidad, siendo cosas muy distintas, el Flujo de Caja es el "dinero" disponible que la compañia tiene para hacer frente a las actividades de operacion , ciclo de negocio, inversión y financiero. La Compañaía puede obtener recursos de fuentes propias o de terceros (flujo de efectivo). Mientras que la Utilidad (resultado del periodo) se relaciona al resultado de tomar todos los ingresos de la empresa y restarle los costos y gatos. Si el Resultado final es positivo es Utilidad y si es negativo es Pérdida. El flujo de efectivo se ve reflejado en el Estado de Situación Financiera y en el Estado de Flujo de Efectico y la Utilidad se ve generada en el Estado de Resultados (P&L). Los Activos puede ser Fijos (depreciables) La depreciación es el registro de gasto -mensual- por desgaste o escudo fiscal de los activos, los cuales se deprecian por varios métodos. O pueden ser Activos Corrientes (cuentas por cobrar, Inventario, Efectivo) Los Inventarios corresponden a la mercadería que una empresa vende para generar recursos. Intereses corresponden al costo financiero de utilizar financiamiento por medio de recursos de terceros.
Explicado lo anterior se procede a detallar las caracteristicas que intervienen en el Dataset: Se detallan algunas (en el apartado del EDA, se detallan cada na), de igual forma se aportan los links para la consulta detallada sobre ratios e indicadores financieros
Bankrupt?: Aparece como una caracteristica binaria, en donde si indica cero 0, nos dice que la empresa es competente, mientras que si el valor es 1, nos indica que es probable que la empresa caiga en banca rota.
ROA(C) before interest and depreciation before interest, ROA: El rendimiento de los activos es un índice de rentabilidad que proporciona la cantidad de ganancias que una empresa puede generar a partir de sus activos, antes de los gastos de Intereses, Depreciacion.
ROA(A) before interest and % after tax . El rendimiento de los activos es un índice de rentabilidad que proporciona la cantidad de ganancias que una empresa puede generar a partir de sus activos, antes de intereses pero despues de impuestos.
ROA(B) before interest and depreciation after tax, El rendimiento de los activos es un índice de rentabilidad que proporciona la cantidad de ganancias que una empresa puede generar a partir de sus activos , pero en este caso antes de intereses y depreciacion pero despues de impuestos.
Operating Gross Margin: representa el porcentaje de los ingresos totales que le queda a una empresa por encima de los costos directamente relacionados con la producción y la distribución.
Cash flow rate: la tasa de crecimiento a largo plazo del efectivo operativo, el dinero que realmente ingresa a las cuentas de la compañía producto de las operaciones comerciales, la IRR corresponde es una tasa de descuento que hace que el valor actual neto (VAN) de todos los flujos de efectivo sea igual a cero en un análisis de flujo de efectivo descontado.
Quick Ratio: mide la capacidad de una empresa para pagar sus pasivos corrientes sin necesidad de vender su inventario u obtener financiación adicional.
Total Asset Turnover: Mide el peso de las ventas o los ingresos de una empresa en relación con el valor de sus activos. El índice de rotación de activos se puede utilizar como indicador de la eficiencia con la que una empresa utiliza sus activos para generar ingresos.
Net Income to Total Assets: Proporciona la cantidad de beneficios que una empresa puede generar a partir de sus activos.
Total Asset Return Growth Rate Ratio: El rendimiento de los activos totales (ROTA) es una relación que mide las ganancias de una empresa antes de intereses e impuestos (EBIT) en relación con sus activos netos totales
Quick Assets/Current Liability: Es una medida más conservadora de la liquidez de una empresa que los activos corrientes, ya que excluye los inventarios. El índice rápido se utiliza para analizar la capacidad inmediata de una empresa para pagar sus pasivos corrientes sin la necesidad de vender su inventario o utilizar financiación.
Inventory and accounts receivable/Net value: Valor razonable del inventariio y las cuentas por cobrar
Inventory/Current Liability : Proporciona información de la capacidad de la empresa que al realizar ventas de inventario pueda generar el efectivo necesario para cumplir con las obligaciones a corto plazo de los acreedores.
Accounts Receivable Turnover: Esta relación le da a la empresa una idea sólida de la eficiencia con la que recauda las deudas contraídas con el crédito que extendió, y un número menor muestra una mayor eficiencia
Inventory Turnover Rate (times): indica la tasa a la que una empresa vende y reemplaza su stock de bienes durante un período en particular. La fórmula del índice de rotación de inventario es el costo de los bienes vendidos dividido por el inventario promedio para el mismo período
Allocation rate per person:Una tasa de asignación es un porcentaje del efectivo o desembolso de capital de un inversor que se destina a una inversión final.
Total expense/Assets: Es una medida de los costos totales asociados con la administración y operación de un fondo de inversión, como un fondo mutuo. Estos costos consisten principalmente en honorarios de administración y gastos adicionales, como honorarios de negociación, honorarios legales, honorarios de auditor y otros gastos operativos.
Total debt/Total net worth : Es un cálculo simple que puede ayudarlo a evaluar la salud financiera de una empresa determinada al comparar el nivel de deuda que tiene con su patrimonio neto total.
Long-term Liability to Current Assets: Este índice proporciona una medida general de la situación financiera a largo plazo de una empresa, incluida su capacidad para cumplir con sus obligaciones financieras por préstamos pendientes.
Definiciones de ratios o razones financieras
Ratios de Rentabilidad : Return on Assets (ROA), Return on Equity (ROE), Return on Investment (ROI), Return on Invested Capital (ROIC), EBITDA Margin, Net Profit Margin, Operating Margin.
(https://www.investopedia.com/ask/answers/031215/what-formula-calculating-return-assets-roa.asp)
Ratios de Liquidez: Current Ratio, Quick Ratio, Cash Ratio, Operating Cash Flow Ratio, Receivables Turnover Ratio, Inventory Turnover
https://www.investopedia.com/terms/q/quickratio.asp
Ratios de Solvencia: Debt-To-Equity Ratio, Total-Debt-to-Total-Assets Ratio, Interest Coverage Ratio, Shareholder Equity Ratio
https://www.investopedia.com/terms/i/interestcoverageratio.asp
Clasificaciones de los distintos ratios financieros
https://corporatefinanceinstitute.com/resources/knowledge/finance/financial-ratios/
Verificación de datos nulos
data.isnull().sum() # según la revisión no parecen existir datos nulo o con problemas
data.dtypes # tenemos 96 caracteristicas distintas (columnas) y 6819 observaciones (filas)
# todas las caracteristicas presentes son del tipo númerico. 3 del tipo Int y 93 del tipo Float
data.duplicated().sum() # no presentamos daots duplicados
data.size # tenemos un tamñana de los datos de 654324 datos
data.info() # tenemos 96 caracteristicas distintas (columnas) y 6819 observaciones (filas)
# todas las caracteristicas presentes son del tipo númerico. 3 del tipo Int y 93 del tipo Float
data.columns
data1 = data.copy()
Vamos a proceder a quitar un espacio extra que se encuentra en los encabezados
data1.columns=data1.columns.str.strip()
data1.head(3)
data1.info() # se limpian los espacios en blanco al inicio de cada nombre de columna
#De entrada se observan datos atípicos en ciertas caracteristicas, ademas al ser bastantes caracteriticas
# se deben elegir las que aportan para el proceso de generación de análisis para el estudio del caso
data1[["Bankrupt?","ROA(C) before interest and depreciation before interest","ROA(A) before interest and % after tax","ROA(B) before interest and depreciation after tax", "Operating Gross Margin", "Realized Sales Gross Margin","Operating Profit Rate","Pre-tax net Interest Rate"]].plot(kind='box',subplots=True, layout=(4,4), sharex=False, sharey=False)
sns.set(rc={'figure.figsize':(22,22)})
plt.show()
#De entrada se observan datos atípicos en ciertas caracteristicas, ademas al ser bastantes caracteriticas
# se deben elegir las que aportan para el proceso de generación de análisis para el estudio del caso
data1[["After-tax net Interest Rate","Non-industry income and expenditure/revenue","Continuous interest rate (after tax)","Operating Expense Rate", "Research and development expense rate", "Cash flow rate","Interest-bearing debt interest rate","Tax rate (A)"]].plot(kind='box',subplots=True, layout=(4,4), sharex=False, sharey=False)
sns.set(rc={'figure.figsize':(22,22)})
plt.show()
Histogramas en grupo de Caracteristicas Iniciales: Posteriormente se van a generar de forma individual, sin embargo este grupo de permite crear una idea de la distribución de los datos que están presentes
data1[["Bankrupt?","ROA(C) before interest and depreciation before interest","ROA(A) before interest and % after tax","ROA(B) before interest and depreciation after tax", "Operating Gross Margin", "Realized Sales Gross Margin","Operating Profit Rate","Pre-tax net Interest Rate"]].plot(kind='hist',subplots=True, layout=(4,4), sharex=False, sharey=False)
sns.set(rc={'figure.figsize':(22,22)})
plt.show()
data1[["After-tax net Interest Rate","Non-industry income and expenditure/revenue","Continuous interest rate (after tax)","Operating Expense Rate", "Research and development expense rate", "Cash flow rate","Interest-bearing debt interest rate","Tax rate (A)"]].plot(kind='hist',subplots=True, layout=(4,4), sharex=False, sharey=False)
sns.set(rc={'figure.figsize':(22,22)})
plt.show()
datos = data1.copy() #se realiza una copia del dataset
# vamos a trabajar con la copia datos para el proceso de descripción de las caracteristicas, detalle del EDA, posteriormente hacemos una verificación en correlaciones
# graficas y tablas de detalle. finalmente proceso de ver el Machine Learning seleccionado, hacemos una corrida del modelo y luego vemos
# los atipicos y haremos una comparativa entre los resultados. Finalmente una corrida de Modelo No Supervisado, en el cual se utilizarán caracteristicas seleccionadas de interes
# Recordemos que tenemos 96 caracteristicas distintas (columnas) y 6819 observaciones (filas)
# todas las caracteristicas presentes son del tipo númerico. 3 del tipo Int y 93 del tipo Float
datos['Bankrupt?'].plot(kind='box') # caracteristica binaria en la cual la categoria es puede o no caer en bancarrota
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Bankrupt?'].plot(kind='hist') # corresponde a una caracteristica binaria, indica si cae o no en bancarrota
sns.set(rc={'figure.figsize':(7,7)}) # en este caso calcular varias medidas de tendencia central no genera un valor agregado
plt.show() # en vista que los valores o son 1 o 0, pero vamos a calcular la moda
datos['Bankrupt?'].mode() # en esta caracteristica el valor que más aparece es cero 0 aquellos que indican cero 0 indica que la empresa es competente
2.Analisis Exploratorio de la Caracteristica ROA(C) before interest and depreciation before interest: El rendimiento de los activos es un índice de rentabilidad que proporciona la cantidad de ganancias que una empresa puede generar a partir de sus activos, antes de los gastos de Intereses, Depreciacion.
datos['ROA(C) before interest and depreciation before interest'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show() # se aprecia una gran cantidad de valores atípicos, los cuales serán tratados más adelante
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['ROA(C) before interest and depreciation before interest'].plot(kind='hist') # Se aprecia un distribución concentrada al centro , con valores de la
sns.set(rc={'figure.figsize':(7,7)}) # moda, media y mediana muy similar, se asemeja a una distribución normal
plt.show()
datos['ROA(C) before interest and depreciation before interest'].quantile(0.25) # primer quartil indica que un 25% de las empresas presentan un valor ROA C
# menor igual a 0.47
datos['ROA(C) before interest and depreciation before interest'].quantile(0.5) # el segundo quartil indica que el 50% de las empresas presentan un valor ROA c
# menor o igual a 0.5027
datos['ROA(C) before interest and depreciation before interest'].quantile(0.75) # indica que el 75 % de las empresas presentan un valor menor igual a 0.535 en ROA c before interest and depreciation
datos['ROA(C) before interest and depreciation before interest'].min() # el valor más bajo en la caracteristica corresponde a 0
datos['ROA(C) before interest and depreciation before interest'].max() # el valor más alto en la caracteristica corresponde a 1
datos['ROA(C) before interest and depreciation before interest'].mode() # el valor que más está presenten corresponde a 0.490128
datos['ROA(C) before interest and depreciation before interest'].median() # la mediana nos indica que el 50% de las empresas tienen un valor menor o igual a 0.502
datos['ROA(C) before interest and depreciation before interest'].mean() # la mediana nos indica que el valor promedio de la caracteristica es de 0.50517
datos['ROA(C) before interest and depreciation before interest'].std() # la desviación standar indica que los datos se alejan del promedio en 0.06068
3.Analisis Exploratorio de la Caracteristica ROA(A) before interest and % after tax:
El rendimiento de los activos es un índice de rentabilidad que proporciona la cantidad de ganancias que una empresa puede generar a partir de sus activos, antes de intereses pero despues de impuestos
datos['ROA(A) before interest and % after tax'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show() # se aprecia una gran cantidad de valores atípicos, los cuales serán tratados más adelante
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['ROA(A) before interest and % after tax'].plot(kind='hist') # se observa unadistribución con un poco hacia la izquierda , del tipo negativa
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['ROA(A) before interest and % after tax'].quantile(0.25) # indica que el 25 % de las empresas presentan un valor menor o igual de 0.5355
# en la caracteristica ROA(A) before interest and % after tax
datos['ROA(A) before interest and % after tax'].quantile(0.5) # el segundo quantil indica que el 50 % de las empresas presentan un valor menor o igual 0.5598 en la caracteristica
datos['ROA(A) before interest and % after tax'].quantile(0.75) # el 75 % de las empresas presentan un valor menor o igual a 0.58915 en ROA(A) before interest and % after tax
datos['ROA(A) before interest and % after tax'].min() # el valor mínimo corresponde a cero 0
datos['ROA(A) before interest and % after tax'].max() # el valor más alto corresponde a 1
datos['ROA(A) before interest and % after tax'].mode() # se observan dos modas, lo que indica que son los dos valores más repetidos en el datet para esta característica
datos['ROA(A) before interest and % after tax'].median() # el valor de la mediana nos indica que el 50% de las empresas presentan un valor menor o igual a 0.5598
# en la caracteristica ROA(A) before interest and % after tax
datos['ROA(A) before interest and % after tax'].mean() # la media de 'ROA(A) before interest and % after tax es de 0.5586, indica que en promedoo el valor correponde a 0.5586
datos['ROA(A) before interest and % after tax'].std() # los valores se alejan en 0.0656 del promedio
4.Analisis Exploratorio de la Caracteristica ROA(B) before interest and depreciation after tax
El rendimiento de los activos es un índice de rentabilidad que proporciona la cantidad de ganancias que una empresa puede generar a partir de sus activos , pero en este caso antes de intereses y depreciacion pero despues de impuestos.
datos['ROA(B) before interest and depreciation after tax'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show() # se aprecia una gran cantidad de valores atípicos, los cuales serán tratados más adelante, el valor medio corresponde a 0.552
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['ROA(B) before interest and depreciation after tax'].plot(kind='hist') # se observa una distribución con inclinación hacia la derecha, tipo negativa
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['ROA(B) before interest and depreciation after tax'].quantile(0.25) # el primer quantil indica que el 25% de las empresas presentan un valor menor o igual a 0.5272
datos['ROA(B) before interest and depreciation after tax'].quantile(0.5) # el quantil indica que 50% de las empresas presentan un valor menor o igual a 0.5522 en la caracteristica
datos['ROA(B) before interest and depreciation after tax'].quantile(0.75) # el tercer quantil indica que el 75% de las empresas presentan un valor menor o igual a
# 0.5841 ROA(B) before interest and depreciation after tax
datos['ROA(B) before interest and depreciation after tax'].min() # el valor más bajo en la caracteristica corresponde a 0
datos['ROA(B) before interest and depreciation after tax'].max() # el valor más alto corresponde a 1
datos['ROA(B) before interest and depreciation after tax'].mode() # se aprecia que es una distribución multimodal presentando cuatro modas
# siendo los valores que más se repiten los siguientes,
datos['ROA(B) before interest and depreciation after tax'].median() # la mediana indica que el 50% de las empresas presentan un valor menor o igual
# a 0.5522 en ROA B before interest and depreciation
datos['ROA(B) before interest and depreciation after tax'].mean() # el valor promedio de la caracteristica es 0.5535
datos['ROA(B) before interest and depreciation after tax'].std() # los valores se desvian del promeido en 0.0615
5.Analisis Exploratorio de la Caracteristica Operating Gross Margin
Representa el porcentaje de los ingresos totales que le queda a una empresa por encima de los costos directamente relacionados con la producción y la distribución.
datos['Operating Gross Margin'].plot(kind='box') # Se observan valores atípicos, el valor de la mediana alrededor de 0.60
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Operating Gross Margin'].plot(kind='hist') # distribución con una inclinación hacia la derecha , Negativa
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Operating Gross Margin'].quantile(0.25) # el 25% de las empresas presentan un valor menor o igual a 0.6004 en la Operating Gross Margin
datos['Operating Gross Margin'].quantile(0.5) # el 50% de las empresas presentan un valor menor o igual a 0.6059 en la Operating Gross Margin
datos['Operating Gross Margin'].quantile(0.75) # el 75 % de las empresas presentan un valor menor o igual a 0.613 en la operatin gross
datos['Operating Gross Margin'].min() # el valor más bajo corresponde a cero 0
datos['Operating Gross Margin'].max() # el valor más alto de la caracteristica correonde a 1
datos['Operating Gross Margin'].mode() # tiene una presencida de varias modas. Multinmodal , los valores que más se repiten 0.5989 , 0.6019 , 0.6057, 0.6064
datos['Operating Gross Margin'].median() # la mediana indica que el 50% de las empresas presentan un valor menor o igual a 0.6059 en la operating Gross margin
datos['Operating Gross Margin'].mean() # el valor promedio de la caracteristica corresponde a 0.6079
datos['Operating Gross Margin'].std() # los valores se alejan del promedio en 0.01693
6.Analisis Exploratorio de la Caracteristica Realized Sales Gross Margin
El margen realizado es el margen de beneficio bruto real que obtiene al final del producto, después de exponerlo a diferentes descuentos y rebajas. El margen bruto muestra la cantidad de ganancias obtenidas antes de deducir los costos de venta, generales y administrativos (SG&A).
datos['Realized Sales Gross Margin'].plot(kind='box') # se observan valores atípicos, el valor mñinimo corresponde a cero 0, el valor de la mediana alrededor de 0.6
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Realized Sales Gross Margin'].plot(kind='hist') # se observa la distribución negativa , valores generalmente concentrrados a partir de 0.6
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Realized Sales Gross Margin'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.6004
datos['Realized Sales Gross Margin'].quantile(0.5) # indica que el %50 de las empresas presentan un valor menor o igual a 0.6059
datos['Realized Sales Gross Margin'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.6138
datos['Realized Sales Gross Margin'].min() # el valor más bajo en la caracteristica corresponde a cero 0
datos['Realized Sales Gross Margin'].max() # el valor más alto corresponde a 1
datos['Realized Sales Gross Margin'].mode() # distribución multimodal, los valores que más se repiten corresponden a 0.6025, 0.6047, 0.6057
datos['Realized Sales Gross Margin'].median() # el valor de la mediana indica que el 50% de las empresas presentan un valor menor o igual a 0.6079
datos['Realized Sales Gross Margin'].mean() # el promedio de la caracteristica Realized Sales Gross corresponde a 0.6079
datos['Realized Sales Gross Margin'].std() # los valores de la caracteristica se alejan del promedio en 0.01691
7.Analisis Exploratorio de la Caracteristica Operating Profit Rate
El margen operativo mide la cantidad de ganancias que obtiene una empresa con un dólar de ventas después de pagar los costos variables de producción, como los salarios y las materias primas, pero antes de pagar intereses o impuestos. Se calcula dividiendo los ingresos operativos de una empresa por sus ventas netas.
datos['Operating Profit Rate'].plot(kind='box') # el valor mínimo corresponde a cero 0, se observan valores atípicos
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Operating Profit Rate'].plot(kind='hist') # una distribución totalmente hacia la derecha
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Operating Profit Rate'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.99896
datos['Operating Profit Rate'].quantile(0.5) # indica que el 50 % de las empresas presentan un valor menor o igual a 0.99902
datos['Operating Profit Rate'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.999094 en la operating Profit rate
datos['Operating Profit Rate'].min() # el valor más bajo corresponde a cero 0
datos['Operating Profit Rate'].max() # el valor más alto corresponde a 1
datos['Operating Profit Rate'].mode() # el valor que más se repite corresponde a 0.9989
datos['Operating Profit Rate'].median() # el valor de la mediana indica que el 50% de las empresas presentan un valor menor o igual a 0.9990
datos['Operating Profit Rate'].mean() # el valor promedio de la caracteristica corresponde a 0.9987
datos['Operating Profit Rate'].std() # los valores de la caracteristica se alejan del promedio en 0.01301
8.Analisis Exploratorio de la Caracteristica Pre-tax net Interest Rate
La tasa de rendimiento antes de impuestos es la ganancia o pérdida de una inversión antes de que se tengan en cuenta los impuestos.
datos['Pre-tax net Interest Rate'].plot(kind='box') # el valor mínimo corresponde a cero, presencia d evalores atípicos
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Pre-tax net Interest Rate'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Pre-tax net Interest Rate'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.7973
datos['Pre-tax net Interest Rate'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.7974
datos['Pre-tax net Interest Rate'].quantile(0.75) # indica que el % de las empresas presentan un valor menor o igual a 0.7975
datos['Pre-tax net Interest Rate'].min() # el valor mínimo de la caracteristica corresponde a cero
datos['Pre-tax net Interest Rate'].max() # el valor más alto que se presenta en la caracteristica corresponde a 1
datos['Pre-tax net Interest Rate'].mode() # el valor que más se repite en la Pre-tax net Interest rate corresponde a 0.797381
datos['Pre-tax net Interest Rate'].median() # la mediana indica que el 50% de las empresas presentan un valor menor o igual a 0.7974
datos['Pre-tax net Interest Rate'].mean() # el valor promedio de la caracteristica corresponde a 0.797189
datos['Pre-tax net Interest Rate'].std() # los valores se alejan del promedio en un 0.0128
9.Analisis Exploratorio de la Caracteristica After-tax net Interest Rate
La tasa de rendimiento real después de impuestos es el beneficio financiero real de una inversión después de contabilizar los efectos de la inflación y los impuestos.
datos['After-tax net Interest Rate'].plot(kind='box') # se visualizan valores atíicos y el valor mínimo corrresponde a cero, la mediana corresponde a 0.8
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['After-tax net Interest Rate'].plot(kind='hist') # distribución negativa la mayoría de los datos se agrupan entre 0.8
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['After-tax net Interest Rate'].quantile(0.25) # indica que el 25 % de las empresas presentan un valor menor o igual a 0.80931
datos['After-tax net Interest Rate'].quantile(0.5) # indica que el 50 % de las empresas presentan un valor menor o igual a 0.8093
datos['After-tax net Interest Rate'].quantile(0.75) # indica que el 75 % de las empresas presentan un valor menor o igual a 0.8094
datos['After-tax net Interest Rate'].min() # el valor más bajo es cero
datos['After-tax net Interest Rate'].max() # el valor más alto corresponde a 1
datos['After-tax net Interest Rate'].mode() # presenta dos modas , los valores más repetidos corresponde a 0.809309 y 0.809378
datos['After-tax net Interest Rate'].median() # la mediana indica que el 50% de las empresas presentan un valor menor o igual a 0.8093
datos['After-tax net Interest Rate'].mean() # el promedio de la caracteristica corresponde a 0.809083
datos['After-tax net Interest Rate'].std() # los valores de la caracteristica After-tax net intereset rate se alejan del promedio en 0.01360
10.Analisis Exploratorio de la Caracteristica Non-industry income and expenditure/revenue
Los ingresos no operativos son la parte de los ingresos de una organización que se derivan de actividades no relacionadas con sus operaciones comerciales principales.
datos['Non-industry income and expenditure/revenue'].plot(kind='box') # el valor más bajo corresponde a cero, la mediana alrededor de 0.3 , y se observan valores atípicos
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Non-industry income and expenditure/revenue'].plot(kind='hist') # los valores se observan muy concentrados cercanamente a 0.4
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Non-industry income and expenditure/revenue'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.3034
datos['Non-industry income and expenditure/revenue'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.303525
datos['Non-industry income and expenditure/revenue'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.303585
datos['Non-industry income and expenditure/revenue'].min() # el valor mínimo corresponde a cero
datos['Non-industry income and expenditure/revenue'].max() # el valor más alto que presenta la caracteristica es de 1
datos['Non-industry income and expenditure/revenue'].mode() # presenta varias modas, los valores que más se repiten son 0.303517, 0.303526, 0.303528
datos['Non-industry income and expenditure/revenue'].median() # la mediana indica que el 50% de las empresas presentan un valor menor o igual a 0.303525
datos['Non-industry income and expenditure/revenue'].mean() # el promedio de la caracteristoca corresponde a 0.3036
datos['Non-industry income and expenditure/revenue'].std() # los valores de la caracteristica correspode a 0.01116
11.Analisis Exploratorio de la Caracteristica Continuous interest rate (after tax)
El interés continuo ocurre cuando el interés se carga continuamente (y se agrega constantemente al capital).
datos['Continuous interest rate (after tax)'].plot(kind='box') # la mediana aparece alrededor de 0.78 ,presencia de valores atípicos
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Continuous interest rate (after tax)'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Continuous interest rate (after tax)'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.78156
datos['Continuous interest rate (after tax)'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.7816
datos['Continuous interest rate (after tax)'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.78173
datos['Continuous interest rate (after tax)'].min() # el valor mínimo de la caracteristica corresponde a cero 0
datos['Continuous interest rate (after tax)'].max() # el valor más alto de la caracteristica corresponde a uno
datos['Continuous interest rate (after tax)'].mode() # el valor que más se repite es 0.781683
datos['Continuous interest rate (after tax)'].median() # la mediana indica que el 50% de las empresas presentan un valor menor o igual a 0.78163
datos['Continuous interest rate (after tax)'].mean() # el promedio de la caracteristica continuous interest corresponde a 0.78138
datos['Continuous interest rate (after tax)'].std() # los valores se alejan del promedio en 0.0126
12.Analisis Exploratorio de la Caracteristica Operating Expense Rate
muestra la eficiencia de la gestión de una empresa comparando el gasto operativo total (OPEX) de una empresa con las ventas netas. El índice operativo muestra qué tan eficiente es la administración de una empresa para mantener bajos los costos mientras genera ingresos o ventas.
datos['Operating Expense Rate'].plot(kind='box') # no se observan valores atípicos, el valor más bajo corresponde a cero
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Operating Expense Rate'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)}) # distribucion hacia la izquierda , del tipo positiva
plt.show()
datos['Operating Expense Rate'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.000156
datos['Operating Expense Rate'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.000277
datos['Operating Expense Rate'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 414500000
datos['Operating Expense Rate'].min() # el valor mínimo correspone a 0
datos['Operating Expense Rate'].max() # el valor maximo corresponde a 990000000
datos['Operating Expense Rate'].mode() # caractersitica que presenta multimodas 1.7160, 5.53, 9.86 los valores que más se repiten
datos['Operating Expense Rate'].median() # la mediana indica que el 50% de las empresas presentan un valor menor o igual a 0.000277
datos['Operating Expense Rate'].mean() # el valor promedio de la caracteristica correspone a 1995347312
datos['Operating Expense Rate'].std() # la desviacion indica que los valores se alejan del promedio en 3237683890
13.Analisis Exploratorio de la Caracteristica Research and development expense rate
La Research and development expense rate mide la relación entre la capitalización de mercado de una empresa y sus gastos de investigación y desarrollo.
datos['Research and development expense rate'].plot(kind='box') # se observan valores atípicos , el valor mínimo corresponde a cero
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Research and development expense rate'].plot(kind='hist') # distribución hacia la izquierda , del tipo positiva
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Research and development expense rate'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.000128
datos['Research and development expense rate'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 509000000
datos['Research and development expense rate'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 3450000000
datos['Research and development expense rate'].min() # el valor mínimo corresponde a cero
datos['Research and development expense rate'].max() # el valor máximo corresponde a 9980000000
datos['Research and development expense rate'].mode() # el valor que más se repite corresponde a cero 0
datos['Research and development expense rate'].median() # la medina indica que el 50% de las empresas presentan un valor menor o igual a 509000000
datos['Research and development expense rate'].mean() # el valor promedio de la caracteristica es de 1950427306
datos['Research and development expense rate'].std() # los valores se alejan del promedio en 2598291553
14.Analisis Exploratorio de la Caracteristica Cash flow rate
la tasa de crecimiento a largo plazo del efectivo operativo, el dinero que realmente ingresa a las cuentas de la compañía producto de las operaciones comerciales, la IRR corresponde es una tasa de descuento que hace que el valor actual neto (VAN) de todos los flujos de efectivo sea igual a cero en un análisis de flujo de efectivo descontado.
datos['Cash flow rate'].plot(kind='box') # se observan valores atípicos , la mediana se encuentra alrededor de 0.45
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Cash flow rate'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Cash flow rate'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.46155
datos['Cash flow rate'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.4650
datos['Cash flow rate'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.4710
datos['Cash flow rate'].min() # el valor más bajo corresponde a cero
datos['Cash flow rate'].max() # el valor más alto correpsonde a 1
datos['Cash flow rate'].mode() # tiene varias modas, los valores que más se repiten son, 0.460621, 0.460970, 0.464373
datos['Cash flow rate'].median() # la mediana indica que el 50% de las empresas presentan un valor menor o igual a 0.465079
datos['Cash flow rate'].mean() # el valor promeido de la caracteristica cash flow rate es de 0.467431
datos['Cash flow rate'].std() # los valores se alejan del promedio en 0.01703
15.Analisis Exploratorio de la Caracteristica Interest-bearing debt interest rate
Los gastos por intereses comerciales se refieren al costo de los intereses que se cargan a una empresa en función de las deudas que ha acumulado. En algunos casos, ese interés puede ser deducible de impuestos, siempre que el dinero se haya utilizado para comprar un activo relacionado específicamente con el negocio.
datos['Interest-bearing debt interest rate'].plot(kind='box') # se observa presencia de valores atípicos
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Interest-bearing debt interest rate'].plot(kind='hist') # la mayoría de los valores se concentran de forma cercana a cero
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Interest-bearing debt interest rate'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.00020302
datos['Interest-bearing debt interest rate'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.00032103
datos['Interest-bearing debt interest rate'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.000532
datos['Interest-bearing debt interest rate'].min() # el valor más bajo corresponde a cero
datos['Interest-bearing debt interest rate'].max() # el valor más alto corresponde a 990000000
datos['Interest-bearing debt interest rate'].mode() # el valor que más se repite corresponde a cero
datos['Interest-bearing debt interest rate'].median() # la mediana indica que el % de las empresas presentan un valor menor o igual a 0.00032103
datos['Interest-bearing debt interest rate'].mean() # el valor promedio de la caracteristica corresponde a 16448012
datos['Interest-bearing debt interest rate'].std() # una desviacion muy alta, lo que indica la presencia de atípicos muy notorios, 108275033 de STD
# indica que los valores se pueden alejar del valor promedio en 108275033
16.Analisis Exploratorio de la Caracteristica Tax rate (A)
La tasa impositiva es el porcentaje al que se grava a una persona física o jurídica.
datos['Tax rate (A)'].plot(kind='box') # se muestra la presencia de valor atípicos
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Tax rate (A)'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)}) #distribucion con comportamiento positiva
plt.show()
datos['Tax rate (A)'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0
datos['Tax rate (A)'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.0734
datos['Tax rate (A)'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.20584
datos['Tax rate (A)'].min() # el valor más bajo de la caracteristica es de cero
datos['Tax rate (A)'].max() # el valor más alto de la caracteristica Tax rate (A) corresponde a 1
datos['Tax rate (A)'].mode() # el valor qu más se repite corresponde a cero
datos['Tax rate (A)'].median() # la mediana indica que el 50% de las empresas presentan un valor menor o igual a 0.073489
datos['Tax rate (A)'].mean() # el vlaor promedio de lacaracteristica corresponde a 0.1150
datos['Tax rate (A)'].std() # los valores se alejan del promedio en 0.13866
17.Analisis Exploratorio de la Caracteristica Net Value Per Share (B)
El valor liquidativo por acción (NAVPS) se calcula dividiendo el valor liquidativo por el número de acciones en circulación.
datos['Net Value Per Share (B)'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)}) # se observa la presencia de valores atípicos
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Net Value Per Share (B)'].plot(kind='hist') # valores con distribuciòn del tipo positiva ,concentraciòn de los valores en cercanias a 0.2
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Net Value Per Share (B)'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.1736
datos['Net Value Per Share (B)'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.1844
datos['Net Value Per Share (B)'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.1995
datos['Net Value Per Share (B)'].min() # el valor más bajo corresponde a cero
datos['Net Value Per Share (B)'].max() # el valor más alto de la caracteristica es de 1
datos['Net Value Per Share (B)'].mode() # el valor que más se repite corrsponde a 0.176984
datos['Net Value Per Share (B)'].median() # la mediana nos indica que el 50% de las empresas presentan un valor menor o igual a 0.1844
datos['Net Value Per Share (B)'].mean() # el valor promedio de la caracteristica es de 0.19066
datos['Net Value Per Share (B)'].std() # los valores se desvian del promedio en 0.033389
18.Analisis Exploratorio de la Caracteristica Net Value Per Share (A)
El valor liquidativo por acción (NAVPS) se calcula dividiendo el valor liquidativo por el número de acciones en circulación.
datos['Net Value Per Share (A)'].plot(kind='box') # se observan valores atípicos, la mediana se observa cercana a 0.2
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Net Value Per Share (A)'].plot(kind='hist') # se observan los valores concentrados en la cercanía a 0.2 , distribución del tipo positiva (izquierda)
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Net Value Per Share (A)'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.173
datos['Net Value Per Share (A)'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.1844
datos['Net Value Per Share (A)'].quantile(0.75) # indica que el 75 % de las empresas presentan un valor menor o igual a 0.1995
datos['Net Value Per Share (A)'].min() # el valor más bajo es de cero
datos['Net Value Per Share (A)'].max() # el valor más alto corresponde a 1
datos['Net Value Per Share (A)'].mode() # el valor que más se repite es 0.176984
datos['Net Value Per Share (A)'].median() # la mediana indica que el 50% de las empresas presentan un valor menor o igual a 0.1844
datos['Net Value Per Share (A)'].mean() # el valor promedio de la caracteristica 0.1906
datos['Net Value Per Share (A)'].std() # los valores se desvian del promedio en 0.0334
19.Analisis Exploratorio de la Caracteristica Net Value Per Share (C)
El valor liquidativo por acción (NAVPS) se calcula dividiendo el valor liquidativo por el número de acciones en circulación.
datos['Net Value Per Share (C)'].plot(kind='box') # se observan valores atípicos , la mediana cercana a 0.2 , el valor mínimo cero
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Net Value Per Share (C)'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Net Value Per Share (C)'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.17367
datos['Net Value Per Share (C)'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.1844
datos['Net Value Per Share (C)'].quantile(0.75) # indica que el 75 % de las empresas presentan un valor menor o igual a 0.1996
datos['Net Value Per Share (C)'].min() # el valor más bajo es de 0
datos['Net Value Per Share (C)'].max() # el valor más alto es de 1
datos['Net Value Per Share (C)'].mode() # el valor que más se repite en 0.17684
datos['Net Value Per Share (C)'].median() # la mediana indica que el 50% de las empresas presentan un valor menor o igual a 0.184
datos['Net Value Per Share (C)'].mean() # el valor promedio es de 0.19067
datos['Net Value Per Share (C)'].std() # los valores de la caracteristica se desvian o se alejan del promedio en 0.0334
20.Analisis Exploratorio de la Caracteristica Persistent EPS in the Last Four Seasons
Brinda la información del valor de las acciones en los ultimas 4 temporadas. Las ganancias por acción (EPS) se calculan como las ganancias de una empresa divididas por las acciones en circulación de sus acciones ordinarias.
datos['Persistent EPS in the Last Four Seasons'].plot(kind='box') # se bservan valores atípicos
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Persistent EPS in the Last Four Seasons'].plot(kind='hist') # concentración de los valores en cercanía 0.25
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Persistent EPS in the Last Four Seasons'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.2147
datos['Persistent EPS in the Last Four Seasons'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.2245
datos['Persistent EPS in the Last Four Seasons'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.23882
datos['Persistent EPS in the Last Four Seasons'].min() # el valor más bajo corresponde a 0
datos['Persistent EPS in the Last Four Seasons'].max() # el valor más alto es de 1
datos['Persistent EPS in the Last Four Seasons'].mode() # el valor que más se repite es 0.2149
datos['Persistent EPS in the Last Four Seasons'].median() # la mediana indica que el 50% de las empresas presentan un valor menor o igual a 0.2245
datos['Persistent EPS in the Last Four Seasons'].mean() # valor promedio de lacaracteristica corresponde a 0.22881
datos['Persistent EPS in the Last Four Seasons'].std() # desviacion indica que los valores se alejan del promedio en 0.0332626
21.Analisis Exploratorio de la Caracteristica Cash Flow Per Share
El flujo de efectivo por acción son las ganancias después de impuestos más la depreciación por acción que funciona como una medida de la solidez financiera de una empresa. Muchos analistas financieros ponen más énfasis en el flujo de caja por acción que en las ganancias por acción (EPS).
datos['Cash Flow Per Share'].plot(kind='box') # se observan calores atípicos
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Cash Flow Per Share'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Cash Flow Per Share'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.31774
datos['Cash Flow Per Share'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.3224
datos['Cash Flow Per Share'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.328623
datos['Cash Flow Per Share'].min() # el valor maa bajo es de cero
datos['Cash Flow Per Share'].max() # el valor más alto es de 1
datos['Cash Flow Per Share'].mode() # presenta varias modas , los valores que más que se repiten
datos['Cash Flow Per Share'].median() # la mediana indica que el 50% de las empresas presentan un valor menor o igual a 0.32248
datos['Cash Flow Per Share'].mean() # el promedio de la caracteristica de cash flow per share corresponde a 0.3234
datos['Cash Flow Per Share'].std() # la desviacion indica que los valores se alejan del promedio en 0.0176
22.Analisis Exploratorio de la Caracteristica Revenue Per Share (Yuan ¥)
Es un índice financiero, que divide las ganancias netas disponibles para los accionistas comunes por el promedio de acciones en circulación durante un cierto período de tiempo.
datos['Revenue Per Share (Yuan ¥)'].plot(kind='box') # valores con atípicos
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Revenue Per Share (Yuan ¥)'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Revenue Per Share (Yuan ¥)'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.0156
datos['Revenue Per Share (Yuan ¥)'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.0273
datos['Revenue Per Share (Yuan ¥)'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.046
datos['Revenue Per Share (Yuan ¥)'].min() # el valor más bajo es cero
datos['Revenue Per Share (Yuan ¥)'].max() # el valormás alto de 302000000
datos['Revenue Per Share (Yuan ¥)'].mode() # el valor que más se repite corresponde a 0.01776
datos['Revenue Per Share (Yuan ¥)'].median() # lamediana indica que el % de las empresas presentan un valor menor o igual a 0.027375
datos['Revenue Per Share (Yuan ¥)'].mean() # el valor promedio de 1328640
datos['Revenue Per Share (Yuan ¥)'].std() # los valores pueden alejarse del promedio en 51707089
23.Analisis Exploratorio de la Caracteristica Operating Profit Per Share (Yuan ¥)
Ganancias por acción ordinarias significa las ganancias netas consolidadas divididas por el número de acciones ordinarias en circulación al final del período de rendimiento.
datos['Operating Profit Per Share (Yuan ¥)'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Operating Profit Per Share (Yuan ¥)'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Operating Profit Per Share (Yuan ¥)'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.096
datos['Operating Profit Per Share (Yuan ¥)'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.1042
datos['Operating Profit Per Share (Yuan ¥)'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.11615
datos['Operating Profit Per Share (Yuan ¥)'].min() # el valormás bajo es cero
datos['Operating Profit Per Share (Yuan ¥)'].max() # el valormás alto corresponde a 1
datos['Operating Profit Per Share (Yuan ¥)'].mode() # el valor que más se repite es 0.097
datos['Operating Profit Per Share (Yuan ¥)'].median()
datos['Operating Profit Per Share (Yuan ¥)'].mean() # el promedio es de 0.1090
datos['Operating Profit Per Share (Yuan ¥)'].std()
24.Analisis Exploratorio de la Caracteristica Per Share Net profit before tax (Yuan ¥)
las ganancias netas consolidadas divididas por el número de acciones ordinarias en circulación al final del período de rendimiento, antes de impuestos
datos['Per Share Net profit before tax (Yuan ¥)'].plot(kind='box') # se observan valores atipicos, medina cercana a 0.2
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Per Share Net profit before tax (Yuan ¥)'].plot(kind='hist') # valores concetrados cercanamente a 1.8 y 0.2
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Per Share Net profit before tax (Yuan ¥)'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.17036
datos['Per Share Net profit before tax (Yuan ¥)'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.179
datos['Per Share Net profit before tax (Yuan ¥)'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.193
datos['Per Share Net profit before tax (Yuan ¥)'].min() # el valor mínimo es de cero
datos['Per Share Net profit before tax (Yuan ¥)'].max() # el valor más alto es de 1
datos['Per Share Net profit before tax (Yuan ¥)'].mode() # el valor que más se repite es de 0.170144
datos['Per Share Net profit before tax (Yuan ¥)'].median()
datos['Per Share Net profit before tax (Yuan ¥)'].mean() # el promedio es d e0.1843
datos['Per Share Net profit before tax (Yuan ¥)'].std()
25.Analisis Exploratorio de la Caracteristica Realized Sales Gross Profit Growth Rate
El margen bruto representa la cantidad de ingresos por ventas totales que la empresa retiene después de incurrir en los costos directos (COGS). Este indicador nos dirá el % de crecimiento del Sales Gross Profit
datos['Realized Sales Gross Profit Growth Rate'].plot(kind='box') # se observan valores atípicos
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Realized Sales Gross Profit Growth Rate'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Realized Sales Gross Profit Growth Rate'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.022064
datos['Realized Sales Gross Profit Growth Rate'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.022102
datos['Realized Sales Gross Profit Growth Rate'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.022153
datos['Realized Sales Gross Profit Growth Rate'].min() # el valor más bajo corresponde a cero
datos['Realized Sales Gross Profit Growth Rate'].max() # el valor mas alto es de 1
datos['Realized Sales Gross Profit Growth Rate'].mode() # el valor más se repit corresponde a 0.022092
datos['Realized Sales Gross Profit Growth Rate'].median() # la mediana indica que el 50% de las empresas presentan un valor menor o igual a 0.0221
datos['Realized Sales Gross Profit Growth Rate'].mean()
datos['Realized Sales Gross Profit Growth Rate'].std()
26.Analisis Exploratorio de la Caracteristica Operating Profit Growth Rate
El crecimiento de la utilidad operativa muestra el aumento porcentual de la utilidad operativa durante el último año
Las tasas de crecimiento se refieren al cambio porcentual de una variable específica dentro de un período de tiempo específico.
datos['Operating Profit Growth Rate'].plot(kind='box') # se observan valores atipicos
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Operating Profit Growth Rate'].plot(kind='hist') # se observa concetración de valores cercanamente a 0.83 y 0.9
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Operating Profit Growth Rate'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.8479
datos['Operating Profit Growth Rate'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.84804
datos['Operating Profit Growth Rate'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.8481
datos['Operating Profit Growth Rate'].min() # el valormínimo es de cero
datos['Operating Profit Growth Rate'].max() # el valor más alto corresponde a 1
datos['Operating Profit Growth Rate'].mode() # presenta varios valores que son los que más se repiten
datos['Operating Profit Growth Rate'].median()
datos['Operating Profit Growth Rate'].mean() # el promedio de los valores de la caracteristica es de 0.847979
datos['Operating Profit Growth Rate'].std()
27.Analisis Exploratorio de la Caracteristica After-tax Net Profit Growth Rate
El crecimiento de la utilidad muestra el aumento porcentual de la utililidad durante el último año, despues de impuesto. Las tasas de crecimiento se refieren al cambio porcentual de una variable específica dentro de un período de tiempo específico.
datos['After-tax Net Profit Growth Rate'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)}) # se observan valors atipicos, median cercana a 0.68
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['After-tax Net Profit Growth Rate'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['After-tax Net Profit Growth Rate'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.6892
datos['After-tax Net Profit Growth Rate'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.6896
datos['After-tax Net Profit Growth Rate'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.6896
datos['After-tax Net Profit Growth Rate'].min() # el valor mínimo corresponde a cero 0
datos['After-tax Net Profit Growth Rate'].max() # el valor más alto corresponde a 1
datos['After-tax Net Profit Growth Rate'].mode() # multimodal, presenta varios números que son los que más se repiten
datos['After-tax Net Profit Growth Rate'].median() # la mediana indica que el 50% de las empresas presentan un valor menor o igual a 0.68943
datos['After-tax Net Profit Growth Rate'].mean() # el valor promedio de la caracteristica es de 0.6891
datos['After-tax Net Profit Growth Rate'].std()
28.Analisis Exploratorio de la Caracteristica Regular Net Profit Growth Rate
Expresado como porcentaje, el margen de beneficio neto muestra cuánto de cada dólar recaudado por una empresa como ingresos se traduce en beneficios, por lo tanto el Net Profit Growth Rate, indica el porcentaje de crecimiento de este indicar de un periodo a otro.
datos['Regular Net Profit Growth Rate'].plot(kind='box') # presencia de valores atipicos
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Regular Net Profit Growth Rate'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Regular Net Profit Growth Rate'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.6892
datos['Regular Net Profit Growth Rate'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.6894
datos['Regular Net Profit Growth Rate'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.68964
datos['Regular Net Profit Growth Rate'].min() # el valor mìnimo corresponde a 0
datos['Regular Net Profit Growth Rate'].max() # el valor más alto es de 1
datos['Regular Net Profit Growth Rate'].mode() # el valor mas se repite corresponde a 0.689
datos['Regular Net Profit Growth Rate'].median()
datos['Regular Net Profit Growth Rate'].mean()
datos['Regular Net Profit Growth Rate'].std()
29.Analisis Exploratorio de la Caracteristica Continuous Net Profit Growth Rate
Las tasas de crecimiento se refieren al cambio porcentual de una variable específica dentro de un período de tiempo específico, en este caso mide el mide el crecimiento de un periodo a otro de la utilidad neta.
datos['Continuous Net Profit Growth Rate'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Continuous Net Profit Growth Rate'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Continuous Net Profit Growth Rate'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.2175
datos['Continuous Net Profit Growth Rate'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.217598
datos['Continuous Net Profit Growth Rate'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.217621
datos['Continuous Net Profit Growth Rate'].min() # el valor más bajo es cero
datos['Continuous Net Profit Growth Rate'].max() # el valor más alto es de 1
datos['Continuous Net Profit Growth Rate'].mode() # el valor que más se repite es 0.2175
datos['Continuous Net Profit Growth Rate'].median() # la mediana indica que el 50% de las empresas presentan un valor menor o igual a 0.21759
datos['Continuous Net Profit Growth Rate'].mean()
datos['Continuous Net Profit Growth Rate'].std()
30.Analisis Exploratorio de la Caracteristica Total Asset Growth Rate
La tasa de crecimiento de activos muestra la rapidez con la que una empresa ha aumentado sus activos. Se calcula como un cambio porcentual en los activos durante un período determinado.
datos['Total Asset Growth Rate'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)}) # se observan valores atipicos , la mediana se observa cercana a 640000000
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Total Asset Growth Rate'].plot(kind='hist') # se observa una distribución multimodal
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Total Asset Growth Rate'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 4860000000
datos['Total Asset Growth Rate'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 6400000000
datos['Total Asset Growth Rate'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 7390000000
datos['Total Asset Growth Rate'].min() # el valor más bajo corresponde a 0
datos['Total Asset Growth Rate'].max() # el valor más alto corresponde a 9990000000
datos['Total Asset Growth Rate'].mode() # presenta dos modas
datos['Total Asset Growth Rate'].median() # la mediana indica que el 50 % de las empresas presentan un valor menor o igual a 6400000000
datos['Total Asset Growth Rate'].mean() # el promedio de la caracteristica corresponde a 550809659
datos['Total Asset Growth Rate'].std() # se desvia del promedio en 2897717771
31.Analisis Exploratorio de la Caracteristica Net Value Growth Rate
La tasa de crecimiento del Valor Neto. el NET VALUE se puede interpretar como, El valor actual neto (VAN) es la diferencia entre el valor presente de las entradas de efectivo y el valor presente de las salidas de efectivo durante un período de tiempo. El VPN se utiliza en el presupuesto de capital y la planificación de inversiones para analizar la rentabilidad de una inversión o proyecto proyectado.
datos['Net Value Growth Rate'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Net Value Growth Rate'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Net Value Growth Rate'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.0004409
datos['Net Value Growth Rate'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.000461
datos['Net Value Growth Rate'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.0004993
datos['Net Value Growth Rate'].min() # el valorminimo corresponde a cero
datos['Net Value Growth Rate'].max() # el valor maximo o mas alto coresponde a 9330000000
datos['Net Value Growth Rate'].mode() # presenta dos valores como la moda , que se repiden varias veces ,
datos['Net Value Growth Rate'].median() # la mediana indica que el 50 % de las empresas presentan un valor menor o igual a 0.0004619
datos['Net Value Growth Rate'].mean()
datos['Net Value Growth Rate'].std()
32.Analisis Exploratorio de la Caracteristica Total Asset Return Growth Rate Ratio
Presenta la tasa de crecimiento del Asset Return, y el Asset Return es una relación que mide las ganancias de una empresa antes de intereses e impuestos (EBIT) en relación con sus activos netos totales. Se define como la relación entre el ingreso neto y los activos promedio totales.
datos['Total Asset Return Growth Rate Ratio'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Total Asset Return Growth Rate Ratio'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Total Asset Return Growth Rate Ratio'].quantile(0.25) # indica que el 25 % de las empresas presentan un valor menor o igual a 0.26375
datos['Total Asset Return Growth Rate Ratio'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.26404
datos['Total Asset Return Growth Rate Ratio'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.2643
datos['Total Asset Return Growth Rate Ratio'].min() # el valor minimo corresponde a 0
datos['Total Asset Return Growth Rate Ratio'].max() # el valormás alto corresponde a 1
datos['Total Asset Return Growth Rate Ratio'].mode() # presenta varias modas, multimodal
datos['Total Asset Return Growth Rate Ratio'].median() # la medana indica que el 50% de las empresas presentan un valor menor o igual a 0.2640
datos['Total Asset Return Growth Rate Ratio'].mean() # el valor promedio corresponde a 0.264247
datos['Total Asset Return Growth Rate Ratio'].std() # los valores se alejan del promedio en 0.009634
33.Analisis Exploratorio de la Caracteristica Cash Reinvestment %
Es un índice de valoración que se utiliza para medir el porcentaje del flujo de efectivo anual que la empresa invierte en el negocio como una nueva inversión. Esta relación permite a los analistas comprender el grado en que los ingresos netos se reinvierten en el negocio.
datos['Cash Reinvestment %'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Cash Reinvestment %'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Cash Reinvestment %'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.3747
datos['Cash Reinvestment %'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.38042
datos['Cash Reinvestment %'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.386
datos['Cash Reinvestment %'].min() # el valor minimo corresponde a 0
datos['Cash Reinvestment %'].max() # el valor maximo es de 1
datos['Cash Reinvestment %'].mode()
datos['Cash Reinvestment %'].median()
datos['Cash Reinvestment %'].mean() # el valor promedio de 0.37967
datos['Cash Reinvestment %'].std() # los valores se alejan del promedio en 0.0207
34.Analisis Exploratorio de la Caracteristica Current Ratio
Es un índice de liquidez que mide la capacidad de una empresa para pagar obligaciones a corto plazo o las que vencen dentro de un año. Les dice a los inversores y analistas cómo una empresa puede maximizar los activos corrientes en su balance para satisfacer su deuda actual y otras cuentas por pagar.
datos['Current Ratio'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Current Ratio'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Current Ratio'].quantile(0.25) # indica que el25 % de las empresas presentan un valor menor o igual a 0.0075
datos['Current Ratio'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.010
datos['Current Ratio'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.0162
datos['Current Ratio'].min() # el valor minimo corresponde a cero
datos['Current Ratio'].max() # el valor maximo corresponde a 2750000000
datos['Current Ratio'].mode() # multimodal, presenta muchas moas , valores que mas se repiten
datos['Current Ratio'].median()
datos['Current Ratio'].mean()
datos['Current Ratio'].std()
35.Analisis Exploratorio de la Caracteristica Quick Ratio
Mide la capacidad de una empresa para pagar sus pasivos corrientes sin necesidad de vender su inventario u obtener financiación adicional.
datos['Quick Ratio'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Quick Ratio'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Quick Ratio'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.00472
datos['Quick Ratio'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.0074
datos['Quick Ratio'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.01224
datos['Quick Ratio'].min() # el valor minimo corresponde a 0
datos['Quick Ratio'].max() # el valor mas alto corresponde a 9230000000
datos['Quick Ratio'].mode() # el valor que mas se repite corresponde a 0.005432
datos['Quick Ratio'].median()
datos['Quick Ratio'].mean() # el valor promedio de la caracteristica es de 8376594
datos['Quick Ratio'].std()
36.Analisis Exploratorio de la Caracteristica Interest Expense Ratio
Se calcula dividiendo el gasto total por intereses de su negocio en todos los préstamos para un año fiscal o calendario por las ganancias antes de intereses, impuestos sobre la renta, depreciación o amortización (comúnmente conocido como EBITDA)
datos['Interest Expense Ratio'].plot(kind='box') # se observa la presencia de valores atipicos
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Interest Expense Ratio'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Interest Expense Ratio'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.6306
datos['Interest Expense Ratio'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.63069
datos['Interest Expense Ratio'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.6311
datos['Interest Expense Ratio'].min() # el valor mas bajo corresponde a 0
datos['Interest Expense Ratio'].max() # el valor mas alto corresponde a 1
datos['Interest Expense Ratio'].mode() # el valor que mas se repite corresponde a 0.6306
datos['Interest Expense Ratio'].median()
datos['Interest Expense Ratio'].mean()
datos['Interest Expense Ratio'].std()
37.Analisis Exploratorio de la Caracteristica Total debt/Total net worth
Es una relación de apalancamiento que define la cantidad total de deuda en relación con los activos que posee una empresa. Con esta métrica, los analistas pueden comparar el apalancamiento de una empresa con el de otras empresas de la misma industria.
datos['Total debt/Total net worth'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Total debt/Total net worth'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Total debt/Total net worth'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.003007
datos['Total debt/Total net worth'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.00554
datos['Total debt/Total net worth'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.0092
datos['Total debt/Total net worth'].min() # el valor minimo corresponde a 0
datos['Total debt/Total net worth'].max() # el valor mas alto es de 9940000000
datos['Total debt/Total net worth'].mode() # multimodal, variosnumeros que se repiten varias veces
datos['Total debt/Total net worth'].median() # la mediana indica que el 50% de las empresas presentan un valor menor o igual a 0.005546
datos['Total debt/Total net worth'].mean() # promedio es de 4416336
datos['Total debt/Total net worth'].std() # se aleja del promedio en 168406905
38.Analisis Exploratorio de la Caracteristica Debt ratio %
Es un índice financiero que mide el grado de apalancamiento de una empresa. La razón de la deuda se define como la razón entre la deuda total y los activos totales.
datos['Debt ratio %'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Debt ratio %'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Debt ratio %'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.07289
datos['Debt ratio %'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.1114
datos['Debt ratio %'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.1488
datos['Debt ratio %'].min() # el valor minimo corresponde a 0
datos['Debt ratio %'].max() # el valor mas alto es 1
datos['Debt ratio %'].mode() # una distribución multimodal según este resultado tenemos 8 distintos valores que son los que más se repiten
datos['Debt ratio %'].median()
datos['Debt ratio %'].mean()
datos['Debt ratio %'].std()
39.Analisis Exploratorio de la Caracteristica Net worth/Assets
El patrimonio neto es el valor de todos los activos, menos el total de todos los pasivos. Dicho de otra manera, el valor neto es lo que se posee menos lo que se debe
datos['Net worth/Assets'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Net worth/Assets'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Net worth/Assets'].quantile(0.25) # indica que el 25 % de las empresas presentan un valor menor o igual a 0.85119
datos['Net worth/Assets'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.8885
datos['Net worth/Assets'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.9271
datos['Net worth/Assets'].min() # el valor minimo corresponde a 0
datos['Net worth/Assets'].max() # el valormas alto es de 1
datos['Net worth/Assets'].mode() # mulimodal
datos['Net worth/Assets'].median()
datos['Net worth/Assets'].mean()
datos['Net worth/Assets'].std()
40.Analisis Exploratorio de la Caracteristica Long-term fund suitability ratio (A) Índice que indica el nivel optimo o idoneo de endeudamiento a largo plazo
datos['Long-term fund suitability ratio (A)'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Long-term fund suitability ratio (A)'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Long-term fund suitability ratio (A)'].quantile(0.25) # indica que el 25 % de las empresas presentan un valor menor o igual a 0.00524
datos['Long-term fund suitability ratio (A)'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.00566
datos['Long-term fund suitability ratio (A)'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.00684
datos['Long-term fund suitability ratio (A)'].min() # el valor minimo corresponde a 0
datos['Long-term fund suitability ratio (A)'].max() # el valor maximo de la caracteristica es de 1
datos['Long-term fund suitability ratio (A)'].mode() # el valor que mas se repite corresponde a 0.004716
datos['Long-term fund suitability ratio (A)'].median()
datos['Long-term fund suitability ratio (A)'].mean()
datos['Long-term fund suitability ratio (A)'].std()
41.Analisis Exploratorio de la Caracteristica Borrowing dependency
Índice que determina el nivel de depencia de prestamos por parte de una compañía
datos['Borrowing dependency'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Borrowing dependency'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Borrowing dependency'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.37016
datos['Borrowing dependency'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.372624
datos['Borrowing dependency'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.3762
datos['Borrowing dependency'].min() # el valor minimo corresponde a 0
datos['Borrowing dependency'].max() # el valor mas alto corresponde a 1
datos['Borrowing dependency'].mode() # el valor que mas se repite coresponde a 0.369637
datos['Borrowing dependency'].median()
datos['Borrowing dependency'].mean() # el valor promedio corresponde a 0.3746
datos['Borrowing dependency'].std() # los valores se alejan del promedio en 0.0162
42.Analisis Exploratorio de la Caracteristica Contingent liabilities/Net worth
indicador del nivel que los Pasivos Contingentes representan del Patrimonio. Los grandes pasivos contingentes podrían sugerir que los compromisos de capital de una empresa aumentarán significativamente y conducirán a un deterioro de la situación financiera. Un pasivo contingente es un pasivo que puede ocurrir dependiendo del resultado de un evento futuro incierto.
datos['Contingent liabilities/Net worth'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Contingent liabilities/Net worth'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Contingent liabilities/Net worth'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.005365847
datos['Contingent liabilities/Net worth'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.00536584
datos['Contingent liabilities/Net worth'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.00576
datos['Contingent liabilities/Net worth'].min() # el valor minimo corresponde a 0
datos['Contingent liabilities/Net worth'].max() # el valor mas alto corresponde a 1
datos['Contingent liabilities/Net worth'].mode() # el valor que mas se repite corresponde a 0.005366
datos['Contingent liabilities/Net worth'].median()
datos['Contingent liabilities/Net worth'].mean()
datos['Contingent liabilities/Net worth'].std() # los valores se alejan del promedio en 0.0121
43.Analisis Exploratorio de la Caracteristica Operating profit/Paid-in capital
El capital pagado es la cantidad de capital "pagado" por los inversores durante la emisión de acciones ordinarias o preferentes, incluido el valor nominal de las acciones más los montos en exceso del valor nominal.
datos['Operating profit/Paid-in capital'].plot(kind='box') # se observan valores atipicos
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Operating profit/Paid-in capital'].plot(kind='hist') # se observa una distribucion con inclinacion hacia la izquierda , tipo positiva
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Operating profit/Paid-in capital'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.096
datos['Operating profit/Paid-in capital'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.1041
datos['Operating profit/Paid-in capital'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.1159
datos['Operating profit/Paid-in capital'].min()
datos['Operating profit/Paid-in capital'].max()
datos['Operating profit/Paid-in capital'].mode()
datos['Operating profit/Paid-in capital'].median()
datos['Operating profit/Paid-in capital'].mean()
datos['Operating profit/Paid-in capital'].std()
44.Analisis Exploratorio de la Caracteristica Net profit before tax/Paid-in capital
Net profit before tax , La ganancia antes de impuestos (PBT) es una medida de la rentabilidad de una empresa que analiza las ganancias obtenidas antes de pagar cualquier impuesto. El capital pagado, o capital aportado, es la cantidad total de efectivo u otros activos que los accionistas han dado a una empresa a cambio de acciones.
datos['Net profit before tax/Paid-in capital'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Net profit before tax/Paid-in capital'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Net profit before tax/Paid-in capital'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.1693
datos['Net profit before tax/Paid-in capital'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.178
datos['Net profit before tax/Paid-in capital'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.191
datos['Net profit before tax/Paid-in capital'].min() # el valor minimo es de 0
datos['Net profit before tax/Paid-in capital'].max() # el valor mas alto es de 1
datos['Net profit before tax/Paid-in capital'].mode() # el valor que mas se repite es 0.178
datos['Net profit before tax/Paid-in capital'].median() # la mediana indica que el 50% de las empresas presentan un valor menor o igual a 0.178
datos['Net profit before tax/Paid-in capital'].mean() # el promedio es de 0.1827
datos['Net profit before tax/Paid-in capital'].std() # los valors se alejan del promedio 0.0307
45.Analisis Exploratorio de la Caracteristica Inventory and accounts receivable/Net value
La valoración de los inventarios y cuentas por cobrar, al valor neto implica, el valor en términos de la cantidad que recibiría en el momento de la venta, menos los costos de venta. Esta valoración se utiliza como un monto más real al valor de mercado que se puede obtener por la venta de un activo.
datos['Inventory and accounts receivable/Net value'].plot(kind='box') # se observan valores atipicos
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Inventory and accounts receivable/Net value'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Inventory and accounts receivable/Net value'].quantile(0.25) # indica que el 25 % de las empresas presentan un valor menor o igual a 0.397
datos['Inventory and accounts receivable/Net value'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.40013
datos['Inventory and accounts receivable/Net value'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.4045
datos['Inventory and accounts receivable/Net value'].min() # el valor minimo corresponde a cero
datos['Inventory and accounts receivable/Net value'].max() # el valor mas alto es 1
datos['Inventory and accounts receivable/Net value'].mode() # el valor que mas se repite corresponde a 0.393663
datos['Inventory and accounts receivable/Net value'].median() # la mediana indica que el 50% de las empresas presentan un valor menor o igual a 0.40013
datos['Inventory and accounts receivable/Net value'].mean() # el valor promedio es 0.4024
datos['Inventory and accounts receivable/Net value'].std() # los valores se alejan en 0.013 del promedio
46.Analisis Exploratorio de la Caracteristica Total Asset Turnover
Rotación de Activos totales: Mide el valor de las ventas o los ingresos de una empresa en relación con el valor de sus activos. El índice de rotación de activos se puede utilizar como indicador de la eficiencia con la que una empresa utiliza sus activos para generar ingresos.
datos['Total Asset Turnover'].plot(kind='box') # se observa valores atipicos
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Total Asset Turnover'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)}) # distribucion del tipo positiva
plt.show()
datos['Total Asset Turnover'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.076
datos['Total Asset Turnover'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.1184
datos['Total Asset Turnover'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.176
datos['Total Asset Turnover'].min() # el valor minimo corresponde a 0
datos['Total Asset Turnover'].max() # el valormaximo corresponde a 1
datos['Total Asset Turnover'].mode() # el valor que mas se repite es 0.07946
datos['Total Asset Turnover'].median() # el promedio de la caracteristica total asset turnover es 0.1184
datos['Total Asset Turnover'].std() # indica la distancia que se alejan del promedio
47.Analisis Exploratorio de la Caracteristica Accounts Receivable Turnover
La rotación de las cuentas por cobrar se describe como una proporción de las cuentas por cobrar promedio para un período dividido por las ventas netas a crédito para ese mismo período. Esta relación le da a la empresa una idea sólida de la eficiencia con la que recauda las deudas contraídas con el crédito que extendió, y un número menor muestra una mayor eficiencia.
datos['Accounts Receivable Turnover'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Accounts Receivable Turnover'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Accounts Receivable Turnover'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.00071013
datos['Accounts Receivable Turnover'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.000967
datos['Accounts Receivable Turnover'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.00145
datos['Accounts Receivable Turnover'].min() # el valor minimo corresponde a 0
datos['Accounts Receivable Turnover'].max() # el valor maximo corresponde a 9740000000
datos['Accounts Receivable Turnover'].mode() # multimodal presenta varios valores que se repiten mas
datos['Accounts Receivable Turnover'].median()
datos['Accounts Receivable Turnover'].mean()
datos['Accounts Receivable Turnover'].std() # los valores se alejan del promedio 278259836
48.Analisis Exploratorio de la Caracteristica Average Collection Days
El período de cobranza promedio se calcula dividiendo el saldo promedio de las cuentas por cobrar por el total de ventas netas a crédito del período y multiplicando el cociente por el número de días del período.
datos['Average Collection Days'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Average Collection Days'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Average Collection Days'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.00438
datos['Average Collection Days'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.0065
datos['Average Collection Days'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.00897
datos['Average Collection Days'].min() # el valor mas bajo es 0
datos['Average Collection Days'].max() # el valor mas alto 9730000000
datos['Average Collection Days'].mode() # el valor que mas se repite 0
datos['Average Collection Days'].median()
datos['Average Collection Days'].mean() # el valor del promedio es 9826220
datos['Average Collection Days'].std() # los valores se alejan del promedio en 256358895
49.Analisis Exploratorio de la Caracteristica Inventory Turnover Rate (times)
La rotación de inventario es una proporción que mide la cantidad de veces que se vende o consume el inventario en un período de tiempo determinado. También conocida como rotación de inventario, rotación de stock y rotación de existencias, la fórmula de rotación de inventario se calcula dividiendo el costo de los bienes vendidos
datos['Inventory Turnover Rate (times)'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Inventory Turnover Rate (times)'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Inventory Turnover Rate (times)'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.00017
datos['Inventory Turnover Rate (times)'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.00076
datos['Inventory Turnover Rate (times)'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 4620000000
datos['Inventory Turnover Rate (times)'].min() # el valor minimo es 0
datos['Inventory Turnover Rate (times)'].max() # el valor mas alto es 9990000000
datos['Inventory Turnover Rate (times)'].mode() # el valor que mas se repite corresponde a 19100000
datos['Inventory Turnover Rate (times)'].median()
datos['Inventory Turnover Rate (times)'].mean()
datos['Inventory Turnover Rate (times)'].std() # los valores se alejan del promedio 3247967014
50.Analisis Exploratorio de la Caracteristica Fixed Assets Turnover Frequency
La fórmula del índice de rotación de activos fijos se calcula dividiendo las ventas netas por la propiedad, planta y equipo total neto de la depreciación acumulada. Como puede ver, es una ecuación bastante simple.
datos['Fixed Assets Turnover Frequency'].plot(kind='box') # se observan valores atipicos
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Fixed Assets Turnover Frequency'].plot(kind='hist') # distribucion tipo positiva
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Fixed Assets Turnover Frequency'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.000233
datos['Fixed Assets Turnover Frequency'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.000593
datos['Fixed Assets Turnover Frequency'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.00365
datos['Fixed Assets Turnover Frequency'].min() # el valor mas bajoes 0
datos['Fixed Assets Turnover Frequency'].max() # el valor mas alto corresponde a 9990000000
datos['Fixed Assets Turnover Frequency'].mode() # el valor que más se repite es 0.000102
datos['Fixed Assets Turnover Frequency'].median()
datos['Fixed Assets Turnover Frequency'].mean() # el valor promedio corresponde a 1008595981
datos['Fixed Assets Turnover Frequency'].std()
51.Analisis Exploratorio de la Caracteristica Net Worth Turnover Rate (times)
Es una relación que compara el agotamiento del capital de trabajo ... del tiempo necesario para convertir los activos y pasivos corrientes netos en efectivo.
datos['Net Worth Turnover Rate (times)'].plot(kind='box') # se observan valores atipicos
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Net Worth Turnover Rate (times)'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Net Worth Turnover Rate (times)'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.02177
datos['Net Worth Turnover Rate (times)'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.0295
datos['Net Worth Turnover Rate (times)'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.042
datos['Net Worth Turnover Rate (times)'].min() # el valor minimo corresponde a 0
datos['Net Worth Turnover Rate (times)'].max() # el valor mas alto corresponde a 1
datos['Net Worth Turnover Rate (times)'].mode() # el valor que mas se repite 0.028387
datos['Net Worth Turnover Rate (times)'].median()
datos['Net Worth Turnover Rate (times)'].mean() # el promedio es de 0.038595
datos['Net Worth Turnover Rate (times)'].std() # los valores se alejan del promedio e 0.0366
52.Analisis Exploratorio de la Caracteristica Revenue per person
Son los ingresos o las ventas totales que realiza una empresa divididos por las personas a tiempo completo que trabajan allí. Esta relación se encuentra entre las más universalmente aplicables y se utiliza a menudo para comparar empresas dentro de la misma industria.
datos['Revenue per person'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Revenue per person'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Revenue per person'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.0104
datos['Revenue per person'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.0186155
datos['Revenue per person'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.03585
datos['Revenue per person'].min() # el valor minimo corresponde a 0
datos['Revenue per person'].max() # el valor mas alto en la caracterisca es 881000000
datos['Revenue per person'].mode() # el valor que más se repite es 0.01361
datos['Revenue per person'].median() # la mediana indica que el 50% de las empresas presentan un valor menor o igual a 0.0186 en revenue per person
datos['Revenue per person'].mean() # el valor promedio de la Revenue per person es de 2325854
datos['Revenue per person'].std() # los valores se alejan del promedio en 1366326554
53.Analisis Exploratorio de la Caracteristica Operating profit per person
El beneficio por empleado, también conocido como ingreso neto por empleado (NIPE), es una métrica que puede utilizar para calcular el ingreso neto de su empresa dividido por el número total de empleados.
datos['Operating profit per person'].plot(kind='box') # se observan valores atipicos, una mediana cercana a 0.4
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Operating profit per person'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Operating profit per person'].quantile(0.25) # indica que el25 % de las empresas presentan un valor menor o igual a 03924
datos['Operating profit per person'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.3958
datos['Operating profit per person'].quantile(0.75) # indica que el75% de las empresas presentan un valor menor o igual a 0.4018
datos['Operating profit per person'].min() # el valor minimo coresponde a 0
datos['Operating profit per person'].max() # el valor mas alto corresponde a 1
datos['Operating profit per person'].mode() # el valor que mas se repite corresponde a 0.394
datos['Operating profit per person'].median() # la mediana indica que el 50% de las empresas presentan un valor menor o igual a 0.39589
datos['Operating profit per person'].mean() # el valor promedio correspodne a 0.40067
datos['Operating profit per person'].std() # los valores se alejan del promedio en 0.032
54.Analisis Exploratorio de la Caracteristica Allocation rate per person
Una tasa de asignación es un porcentaje del efectivo o desembolso de capital de un inversionista que se destina a una inversión final. La tasa de asignación se refiere con mayor frecuencia a la cantidad de capital invertido en un producto neto de cualquier tarifa en la que se pueda incurrir a través de la transacción de inversión.
datos['Allocation rate per person'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Allocation rate per person'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Allocation rate per person'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.0041
datos['Allocation rate per person'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.0078
datos['Allocation rate per person'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.015
datos['Allocation rate per person'].min() # el valor minimo 0
datos['Allocation rate per person'].max() # el valor maximo corresponde a 9570000000
datos['Allocation rate per person'].mode() # el valor que mas se repite corresponde a 0
datos['Allocation rate per person'].median() # la mediana indica que el 50% de las empresas presentan un valor menor o igual a 0.007844 en Allocation rate per pseron
datos['Allocation rate per person'].mean() # el valor promedio corresponde 11255785 en allocation rate per person
datos['Allocation rate per person'].std() # los valores se desvian del promedio en 294506294
55.Analisis Exploratorio de la Caracteristica Working Capital to Total Assets
Mide la capacidad de una empresa para cubrir sus obligaciones financieras a corto plazo (pasivos corrientes totales) comparando sus activos corrientes totales con sus activos totales. Esta relación puede proporcionar una idea de la liquidez de la empresa.
datos['Working Capital to Total Assets'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Working Capital to Total Assets'].plot(kind='hist') # distribucion con inclinacion hacia la derecha, tipo negativa
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Working Capital to Total Assets'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.7743
datos['Working Capital to Total Assets'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.8102
datos['Working Capital to Total Assets'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.8503
datos['Working Capital to Total Assets'].min() # el valorminimo corresponde a 0
datos['Working Capital to Total Assets'].max() # el valor maximo corresponde a 1
datos['Working Capital to Total Assets'].mode() # multimodal , varios valores que se repiten varias veces
datos['Working Capital to Total Assets'].median() # la mediana indica que el 50% de las empresas presentan un valor menor o igual a 0.8102
datos['Working Capital to Total Assets'].mean() # el valor promedio es de 0.814
datos['Working Capital to Total Assets'].std() # los valores se alejan del promedio en 0.0590
56.Analisis Exploratorio de la Caracteristica Quick Assets/Total Assets
Brinda la información de la participación o peso relativo de los activos circulantes entre el total de los activos. Los QUICK ASSETS se refieren a los activos propiedad de una empresa con un valor comercial o de cambio que se pueden convertir fácilmente en efectivo o que ya están en forma de efectivo.
datos['Quick Assets/Total Assets'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Quick Assets/Total Assets'].plot(kind='hist') # distribucion con tipo inclinacion hacia la izquierda, tipo positiva
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Quick Assets/Total Assets'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.24197
datos['Quick Assets/Total Assets'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.38645
datos['Quick Assets/Total Assets'].quantile(0.75) # indica que el75 % de las empresas presentan un valor menor o igual a 0.54059
datos['Quick Assets/Total Assets'].min() # valor mas bajo corresponde a 0
datos['Quick Assets/Total Assets'].max() # el valos mas alto corresponde a 1
datos['Quick Assets/Total Assets'].mode() # multimodal ,
datos['Quick Assets/Total Assets'].median() # la mediana indica que el 50% de las empresas presentan un valor menor o igual a 0.3864
datos['Quick Assets/Total Assets'].mean()
datos['Quick Assets/Total Assets'].std() # los valores se desvian del promedio en 0.2019
57.Analisis Exploratorio de la Caracteristica Current Assets/Total Assets
Nos brinda el peso de los Activos Circulantes entre el Total de Activos. El activo corriente total es la suma de todos los activos corrientes. Estos son efectivo, equivalentes de efectivo, gastos pagados por adelantado, inventario o cualquier otro activo que se espera que se convierta en efectivo durante el próximo año.
datos['Current Assets/Total Assets'].plot(kind='box') # esta distribucion no se observan valores atipicos, la mediana está cercana a 0.5
sns.set(rc={'figure.figsize':(7,7)}) # el valor minimo correspnde a 0
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Current Assets/Total Assets'].plot(kind='hist') # una distribucion multimodal ,
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Current Assets/Total Assets'].quantile(0.25) # # indica que el 25% de las empresas presentan un valor menor o igual a 0.3528 en Current Assets/ total assets
datos['Current Assets/Total Assets'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.68905
datos['Current Assets/Total Assets'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.68905
datos['Current Assets/Total Assets'].min() # el valor minimo es cero
datos['Current Assets/Total Assets'].max() # el valor maximo es uno
datos['Current Assets/Total Assets'].mode() # una distribucion multimodal, varios numeros son los que tinen mayor veces se repiten
datos['Current Assets/Total Assets'].median() # la mediana indica que el 50% de las empresas presentan un valor menor o igual a 0.5148
datos['Current Assets/Total Assets'].mean() # el valor promedio de la Current Assets / total assets es de 0.5222
datos['Current Assets/Total Assets'].std() # los valores se alejan del promedio en 0.21811
58.Analisis Exploratorio de la Caracteristica Cash/Total Assets
Efectivo / Activos totales: mide la parte de los activos de una empresa que se mantiene en efectivo o valores negociables. Aunque una proporción alta puede indicar cierto grado de seguridad desde el punto de vista del acreedor, las cantidades excesivas de efectivo pueden considerarse ineficientes.
datos['Cash/Total Assets'].plot(kind='box') # se observan valores atipicos, la mayor concentracion de valors entre 0 y 0.2
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Cash/Total Assets'].plot(kind='hist') # una distribucion del tipo positiva , concetracion de datos hacia la izquierda
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Cash/Total Assets'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.03354
datos['Cash/Total Assets'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.07488
datos['Cash/Total Assets'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.15107
datos['Cash/Total Assets'].min() # el valor mas bajo es cero
datos['Cash/Total Assets'].max() # el valor mas alto es de 1
datos['Cash/Total Assets'].mode() # distribucon del tipo multimodal, varios numeros tienen la caracteristica de ser la moda , hay varios numeros que se repiten mucho
datos['Cash/Total Assets'].median() # la mediana indica que el 50% de las empresas presentan un valor menor o igual a 0.074
datos['Cash/Total Assets'].mean() # el promedio de cash/total assets es de 0.12409
datos['Cash/Total Assets'].std() # los valores se alejan del promedio en 0.1392
59.Analisis Exploratorio de la Caracteristica Quick Assets/Current Liability
La razón corriente mide la capacidad de una empresa para pagar los pasivos corrientes o de corto plazo (deuda y cuentas por pagar) con sus activos corrientes o de corto plazo (efectivo, inventario y cuentas por cobrar).
datos['Quick Assets/Current Liability'].plot(kind='box') # valors atipicos, valors muy dispersos esta caracteristica, el valor minimo es cero y el valor maximo
sns.set(rc={'figure.figsize':(7,7)}) # corresponde a 8820000000
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Quick Assets/Current Liability'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Quick Assets/Current Liability'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.00523
datos['Quick Assets/Current Liability'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.0079
datos['Quick Assets/Current Liability'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.0129
datos['Quick Assets/Current Liability'].min()
datos['Quick Assets/Current Liability'].max()
datos['Quick Assets/Current Liability'].mode() # multimodal, varios numeros que se repiten mucho
datos['Quick Assets/Current Liability'].median() # la mediana indica que el 50% de las empresas presentan un valor menor o igual a 0.0079
datos['Quick Assets/Current Liability'].mean() # el valor promedio de Quick assets / current liabillity es de 3592902
datos['Quick Assets/Current Liability'].std() # una desviacion estandar muy alta, demuestra lo dispersos que son los valores en esta caracteristica.
# los valores se alejan del promedio en 171620908
60.Analisis Exploratorio de la Caracteristica Cash/Current Liability
La capacidad de una empresa para liquidar sus pasivos corrientes utilizando solo su efectivo e inversiones de alta liquidez
datos['Cash/Current Liability'].plot(kind='box') # se observan valores atipicos , valor minimo de cero, y la mediana cercana a 0.0049
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Cash/Current Liability'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Cash/Current Liability'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.0019
datos['Cash/Current Liability'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.0049
datos['Cash/Current Liability'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.0128
datos['Cash/Current Liability'].min() # el valor minimo es cero
datos['Cash/Current Liability'].max() # el valor maximo es de 9650000000
datos['Cash/Current Liability'].mode() # caracteristica multimodal, tiene tres valores que se repiten mucho
datos['Cash/Current Liability'].median() # la mediana indica que el 50% de las empresas presentan un valor menor o igual a 0.0049
datos['Cash/Current Liability'].mean() # el valor promedio de la caracteristica es 37159994
datos['Cash/Current Liability'].std() # los valores se alejan del promedio en 510350903
61.Analisis Exploratorio de la Caracteristica Current Liability to Assets
La razón corriente compara todos los activos corrientes de una empresa con sus pasivos corrientes. Por lo general, se definen como activos que son efectivo o que se convertirán en efectivo en un año o menos, y pasivos que se pagarán en un año o menos.
datos['Current Liability to Assets'].plot(kind='box') # se observan valores atpicos, la mediana cercana a 0.08, el valor minimo es cero
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Current Liability to Assets'].plot(kind='hist') # distribucion del tipo positiva, valores acumulados hacia la izquierda
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Current Liability to Assets'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.053
datos['Current Liability to Assets'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.082
datos['Current Liability to Assets'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.1195
datos['Current Liability to Assets'].min() # el valormas bajo es cero
datos['Current Liability to Assets'].max() # el valor mas alto es 1
datos['Current Liability to Assets'].mode() # distribucion multimodal, varios numeros que se repiten mucho
datos['Current Liability to Assets'].median() # indica que el 50% de las empresas presentan un valor menor o igual a 0.082
datos['Current Liability to Assets'].mean() # el valor del promedio de la caracteristica es 0.096
datos['Current Liability to Assets'].std() # los valores se desvian del promedio en 0.0502
62.Analisis Exploratorio de la Caracteristica Operating Funds to Liability
¿Qué son las operaciones de financiación? El término operaciones de financiación se refiere a la conversión de deuda a corto plazo en deuda a largo plazo. Este proceso lo utilizan a menudo las corporaciones junto con los gobiernos para convertir bonos a corto plazo en tenencias de bonos a largo plazo.
datos['Operating Funds to Liability'].plot(kind='box') # se observan valores atipicos
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Operating Funds to Liability'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Operating Funds to Liability'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.3410
datos['Operating Funds to Liability'].quantile(0.5) # indica que el 50 % de las empresas presentan un valor menor o igual a 0.3485
datos['Operating Funds to Liability'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.360914
datos['Operating Funds to Liability'].min() # el valor mas bajo es cero
datos['Operating Funds to Liability'].max() # el valor mas alto es 1
datos['Operating Funds to Liability'].mode() # dsitribucion multimodal , varios numeros que se repiten mucho
datos['Operating Funds to Liability'].median() # la mediana indica que el 50% de las empresas presentan un valor menor o igual a 0.3485
datos['Operating Funds to Liability'].mean() # el valor del promedio es 0.3582
datos['Operating Funds to Liability'].std() # los valores se alejan del promedio en 0.03514
63.Analisis Exploratorio de la Caracteristica Inventory/Working Capital
El inventario al capital de trabajo es un índice de liquidez que mide la cantidad de capital de trabajo que está inmovilizado en el inventario.
datos['Inventory/Working Capital'].plot(kind='box') # se observan valores atipicos
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Inventory/Working Capital'].plot(kind='hist') # la mayoria de los datos se acumulan cerca de 0.27 y 0.28
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Inventory/Working Capital'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.277033
datos['Inventory/Working Capital'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.277177
datos['Inventory/Working Capital'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.2774
datos['Inventory/Working Capital'].min() # el valor minimo corresponde a 0
datos['Inventory/Working Capital'].max() # el valor maximo corresponde a 1
datos['Inventory/Working Capital'].mode() # el valor que mas se repite es 0.2769
datos['Inventory/Working Capital'].median() # indica que el 50% de las empresas presentan un valor menor o igual a 0.2771
datos['Inventory/Working Capital'].mean() # el valor promedio es 0.2773
datos['Inventory/Working Capital'].std() # los valores se alejan del promedio en 0.01046
64.Analisis Exploratorio de la Caracteristica Inventory/Current Liability
Una proporción rápida baja indica que una organización puede tardar en pagar sus obligaciones. Esta relación calcula cuántos días le toma a la organización recibir el pago de sus clientes.
datos['Inventory/Current Liability'].plot(kind='box') # se observan valores atipicos
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Inventory/Current Liability'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Inventory/Current Liability'].quantile(0.25) # indica que el 25 % de las empresas presentan un valor menor o igual a 0.003163
datos['Inventory/Current Liability'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.0064
datos['Inventory/Current Liability'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.0111
datos['Inventory/Current Liability'].min() # el valor minimo es cero
datos['Inventory/Current Liability'].max() # el valor maximo es 9910000000
datos['Inventory/Current Liability'].mode() # el valor que mas se repite es cero
datos['Inventory/Current Liability'].median()
datos['Inventory/Current Liability'].mean() # el valor promedio es 55806804
datos['Inventory/Current Liability'].std() # los valores se alejan del promedio en 582051554
65.Analisis Exploratorio de la Caracteristica Current Liabilities/Liability
La razón corriente mide la capacidad de una empresa para pagar sus deudas u obligaciones financieras a corto plazo.
datos['Current Liabilities/Liability'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Current Liabilities/Liability'].plot(kind='hist') # distribucion negativa, valores acumulados hacia la derecha
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Current Liabilities/Liability'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.6269
datos['Current Liabilities/Liability'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.8068
datos['Current Liabilities/Liability'].quantile(0.75) # indica que el 75 % de las empresas presentan un valor menor o igual a 0.94202
datos['Current Liabilities/Liability'].min() # el valor minimo es cero
datos['Current Liabilities/Liability'].max() # el valor maximo es uno
datos['Current Liabilities/Liability'].mode() # el valor que mas se repite es 1
datos['Current Liabilities/Liability'].median() # indica que el 50% de las empresas presentan un valor menor o igual a 0.8068
datos['Current Liabilities/Liability'].mean() # el promedio es 0.7615
datos['Current Liabilities/Liability'].std() # los valores se alejan del promedio en 0.2066
66.Analisis Exploratorio de la Caracteristica Working Capital/Equity
¿Qué es el capital de trabajo? El capital de trabajo, también conocido como capital de trabajo neto (NWC), es la diferencia entre los activos corrientes de una empresa (efectivo, cuentas por cobrar / facturas impagas de los clientes, inventarios de materias primas y productos terminados) y sus pasivos corrientes, como cuentas por pagar y deudas.
datos['Working Capital/Equity'].plot(kind='box') # se observan valores atipicos
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Working Capital/Equity'].plot(kind='hist') # valores concentados entre 0.7 y 0.8
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Working Capital/Equity'].quantile(0.25) # indica que el 25 % de las empresas presentan un valor menor o igual a 0.733
datos['Working Capital/Equity'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.73601
datos['Working Capital/Equity'].quantile(0.75) # indica que el 75 % de las empresas presentan un valor menor o igual a 0.7385
datos['Working Capital/Equity'].min() # el valor minimo corresponde a cero
datos['Working Capital/Equity'].max() # el valor más alto en la caracteristica es 1
datos['Working Capital/Equity'].mode() # distribucion multimodal , varios valores que se repiten mucho
datos['Working Capital/Equity'].median() # la mediana indica que el 50% de las empresas presentan un valor menor o igual a 0.73601
datos['Working Capital/Equity'].mean() # el promedio del working capital / equity es de 0.7358
datos['Working Capital/Equity'].std() # los valores se desvian del promedio en 0.01167
67.Analisis Exploratorio de la Caracteristica Current Liabilities/Equity
El ratio compara los pasivos circulantes de una empresa con el capital contable y se puede utilizar para evaluar cuánto apalancamiento está utilizando una empresa.
datos['Current Liabilities/Equity'].plot(kind='box') # se observan valores atipicos y el valor minimo igual a cero, con una mediana cercana a 0.32
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Current Liabilities/Equity'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Current Liabilities/Equity'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.3280
datos['Current Liabilities/Equity'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.3296
datos['Current Liabilities/Equity'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.3323
datos['Current Liabilities/Equity'].min() # el valor más bajo de la caracteristica es cero
datos['Current Liabilities/Equity'].max() # el valor más alto es 1
datos['Current Liabilities/Equity'].mode() # distribucion multimodal, varios numeros que se repiten bastante
datos['Current Liabilities/Equity'].median() # la mediana indica que el 50% de las empresas presentan un valor menor o igual a 0.3296
datos['Current Liabilities/Equity'].mean() # el promedio de la caracteristica es de 0.3314
datos['Current Liabilities/Equity'].std() # los valores se alejan del promedio en 0.0134
68.Analisis Exploratorio de la Caracteristica Long-term Liability to Current Assets
Es un índice de cobertura o solvencia que se utiliza para calcular el monto del apalancamiento de una empresa. El resultado de la relación muestra el porcentaje de los activos de una empresa que tendría que liquidar para pagar su deuda a largo plazo.
datos['Long-term Liability to Current Assets'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Long-term Liability to Current Assets'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Long-term Liability to Current Assets'].quantile(0.25) # indica que el 25% de las empresas presentan un valor igual a 0
datos['Long-term Liability to Current Assets'].quantile(0.5) # indica que el 50 % de las empresas presentan un valor menor o igual a 0.0019
datos['Long-term Liability to Current Assets'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.009
datos['Long-term Liability to Current Assets'].min() # el valor minimo es cero
datos['Long-term Liability to Current Assets'].max() # el valor mas alto es 9540000000
datos['Long-term Liability to Current Assets'].mode() # el valor que mas se repite es cero
datos['Long-term Liability to Current Assets'].median() # la mediana indica que el 50% de las empresas presentan un valor menor o igual a 0.0019
datos['Long-term Liability to Current Assets'].mean() # el promedio de la carcteristica long-term liability 54160038
datos['Long-term Liability to Current Assets'].std() # los valores se alejan del promedio en 570270621
69.Analisis Exploratorio de la Caracteristica Retained Earnings to Total Assets
Es la relación que mide la ganancia acumulada sobre el activo total de una empresa. Muestra el porcentaje del activo total que se financia con las ganancias retenidas.
datos['Retained Earnings to Total Assets'].plot(kind='box') # se observan valores atipicos
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Retained Earnings to Total Assets'].plot(kind='hist') # concentracion de los valores entre 0.9 y 1
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Retained Earnings to Total Assets'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.93109
datos['Retained Earnings to Total Assets'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.9376
datos['Retained Earnings to Total Assets'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.9448
datos['Retained Earnings to Total Assets'].min() # el valor mas bajo es 0
datos['Retained Earnings to Total Assets'].max() # el valor mas alto es 1
datos['Retained Earnings to Total Assets'].mode() # distribucion multimodal , varios numeros que se repiten mucho
datos['Retained Earnings to Total Assets'].median() # la mediana de Retained Earnings, indica que el 50% de las empresas presentan un valor menor o igual a 0.93767
datos['Retained Earnings to Total Assets'].mean() # el promedio de la caracteristica es de 0.93473
datos['Retained Earnings to Total Assets'].std() # los valores se alejan del promedio en 0.02554
70.Analisis Exploratorio de la Caracteristica Total income/Total expense
Es la comparación de los gastos totales de una empresa con los ingresos o las ventas netas generadas.
datos['Total income/Total expense'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Total income/Total expense'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Total income/Total expense'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.002235
datos['Total income/Total expense'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.002336
datos['Total income/Total expense'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.002491
datos['Total income/Total expense'].min() # el valor mas bajo es cero
datos['Total income/Total expense'].max() # el valor mas alto es 1
datos['Total income/Total expense'].mode() # distribucion multimodal , aparecen varios numeros que se repiten varias veces
datos['Total income/Total expense'].median() # la mediana indica que el 50% de las empresas presentan un valor menor o igual a 0.0023361
datos['Total income/Total expense'].mean() # el promedio de es de 0.00254
datos['Total income/Total expense'].std() #los valores se alejan del promedio en 0.012
71.Analisis Exploratorio de la Caracteristica Total expense/Assets
Estos costos consisten principalmente en honorarios de administración y gastos adicionales, como honorarios de negociación, honorarios legales, honorarios de auditor y otros gastos operativos. El TER proporciona una forma de cubrir los costos anuales de funcionamiento de un fondo en particular.
datos['Total expense/Assets'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Total expense/Assets'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Total expense/Assets'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.01456
datos['Total expense/Assets'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.02267
datos['Total expense/Assets'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.03593
datos['Total expense/Assets'].min() # el vlaor mas bajo es cero
datos['Total expense/Assets'].max() # el valor mas alto es 1
datos['Total expense/Assets'].mode() # distribucion multimodal, varios numeros que se repiten mucho
datos['Total expense/Assets'].median() # la mediana de Total expense/assets indica que el 50% de las empresas presentan un valor menor o igual a 0.0226
datos['Total expense/Assets'].mean() # el promedio es de 0.0291
datos['Total expense/Assets'].std() # los valores se alejan del promedio en 0.02714
72.Analisis Exploratorio de la Caracteristica Current Asset Turnover Rate
El índice de rotación de activos corrientes muestra la relación entre las ventas netas y los activos corrientes. Cuando dividimos las ventas netas con los activos corrientes y las multiplicamos por 100. En el sector minorista, un índice de rotación de activos de 2,5 o más podría considerarse bueno, mientras que una empresa del sector de servicios públicos tiene más probabilidades de apuntar a un índice de rotación de activos de entre 0,25 y 0,5.
datos['Current Asset Turnover Rate'].plot(kind='box') # se observan valores atipicos
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Current Asset Turnover Rate'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Current Asset Turnover Rate'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.000145
datos['Current Asset Turnover Rate'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.000198
datos['Current Asset Turnover Rate'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.00045
datos['Current Asset Turnover Rate'].min() # el valor mas bajo es cero
datos['Current Asset Turnover Rate'].max() # el valor mas alto es de 10000000000
datos['Current Asset Turnover Rate'].mode() # el valor que mas se repite es 8.580000e+09
datos['Current Asset Turnover Rate'].median() # la mediana de Current Asset Turnover rate indica que el 50% de las empresas presentan un valor menor o igual a 0.000198
datos['Current Asset Turnover Rate'].mean() # el promedio es de 1195855763
datos['Current Asset Turnover Rate'].std() # los valores se aljena del promedio en 2821161238
73.Analisis Exploratorio de la Caracteristica Quick Asset Turnover Rate
Generalmente, se favorece una relación más alta porque implica que la empresa es eficiente en generar ventas o ingresos a partir de su base de activos.
datos['Quick Asset Turnover Rate'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Quick Asset Turnover Rate'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Quick Asset Turnover Rate'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.000141
datos['Quick Asset Turnover Rate'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.000224
datos['Quick Asset Turnover Rate'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 4900000000
datos['Quick Asset Turnover Rate'].min() # el valor mas bajo es cero
datos['Quick Asset Turnover Rate'].max() # el valor mas alto es de 10000000000
datos['Quick Asset Turnover Rate'].mode()
datos['Quick Asset Turnover Rate'].median() # la mediana indica que el 50% de las empresas presentan un valor menor o igual a 0.000224
datos['Quick Asset Turnover Rate'].mean() # el valor promedio de la caracteristica es de 2163735272
datos['Quick Asset Turnover Rate'].std() # los valores se alejan del promedio en 3374944402
74.Analisis Exploratorio de la Caracteristica Working capitcal Turnover Rate
El índice de rotación del capital de trabajo se calcula dividiendo las ventas anuales netas de la empresa por su capital de trabajo promedio.
datos['Working capitcal Turnover Rate'].plot(kind='box') # se observan valores tipicos, valor minimo igual a cero, y la mediana cercana a 0.6
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Working capitcal Turnover Rate'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Working capitcal Turnover Rate'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.59393
datos['Working capitcal Turnover Rate'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.5939
datos['Working capitcal Turnover Rate'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.594
datos['Working capitcal Turnover Rate'].min() # el valor minimo es cero
datos['Working capitcal Turnover Rate'].max() # el valor mas alto 1
datos['Working capitcal Turnover Rate'].mode() # distribucion multimodal
datos['Working capitcal Turnover Rate'].median() # la mediana indica que el 50% de las empresas presentan un valor menor o igual a 0.593
datos['Working capitcal Turnover Rate'].mean() # el promedio de la caracteristica es 0.594
datos['Working capitcal Turnover Rate'].std() # los valores se alejan en 0.0089 del promedio
75.Analisis Exploratorio de la Caracteristica Cash Turnover Rate
El índice de rotación de efectivo es un índice de eficiencia que revela la cantidad de veces que se entrega efectivo en un período contable.
datos['Cash Turnover Rate'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Cash Turnover Rate'].plot(kind='hist') # distribucion del tipo positiva
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Cash Turnover Rate'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.00027
datos['Cash Turnover Rate'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 1080000000
datos['Cash Turnover Rate'].quantile(0.75) # indica que el % de las empresas presentan un valor menor o igual a 4510000000
datos['Cash Turnover Rate'].min() # el valor minimo es cero
datos['Cash Turnover Rate'].max() # el valor maximo es de 10000000000
datos['Cash Turnover Rate'].mode() # el valor que mas se repite es 1.940000e+09
datos['Cash Turnover Rate'].median() # la mediana indica que el 50% de las empresas presentan un valor menor o igual a 108000000
datos['Cash Turnover Rate'].mean() # el promedio es de 2471976967
datos['Cash Turnover Rate'].std() # los valores se alejan del promedio en 2938623226
76.Analisis Exploratorio de la Caracteristica Cash Flow to Sales El índice de flujo de efectivo a ventas revela la capacidad de una empresa para generar flujo de efectivo en proporción a su volumen de ventas.
datos['Cash Flow to Sales'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Cash Flow to Sales'].plot(kind='hist') # valores concentrados entre 0.65 y 0.7
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Cash Flow to Sales'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.6715652
datos['Cash Flow to Sales'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.6715739
datos['Cash Flow to Sales'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.671586
datos['Cash Flow to Sales'].min() # el valor minimo es cero
datos['Cash Flow to Sales'].max() # el valor maximo es 1
datos['Cash Flow to Sales'].mode() # distribucion multimodal, varios numeros se repiten varias veces
datos['Cash Flow to Sales'].median() # la mediana ndica que el 50% de las empresas presentan un valor menor o igual a 0.671573
datos['Cash Flow to Sales'].mean() # el promedio de la caracteristica es 0.671307
datos['Cash Flow to Sales'].std() # los valores se alejan del promedio en 0.00934134
77.Analisis Exploratorio de la Caracteristica Fixed Assets to Assets
Es una técnica de análisis financiero que muestra en términos porcentuales la parte de los activos totales de su empresa que está vinculada a los activos fijos
datos['Fixed Assets to Assets'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Fixed Assets to Assets'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Fixed Assets to Assets'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.085
datos['Fixed Assets to Assets'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.1968
datos['Fixed Assets to Assets'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.37221
datos['Fixed Assets to Assets'].min() # el valor minimo es cero
datos['Fixed Assets to Assets'].max() # el valor maximo es 8320000000
datos['Fixed Assets to Assets'].mode() # el valor que mas se repite es cero
datos['Fixed Assets to Assets'].median() # # indica que el 50% de las empresas presentan un valor menor o igual a 0.1968
datos['Fixed Assets to Assets'].mean() # el promedio es de 1220120
datos['Fixed Assets to Assets'].std() # los valores se alejan del promedio en 100754158
78.Analisis Exploratorio de la Caracteristica Current Liability to Liability
Los pasivos corrientes son obligaciones financieras de una entidad comercial que vencen y son pagaderas dentro de un año. Este Ratio brinda una proporción del peso de los Current liability sobre el total de los compromisos
datos['Current Liability to Liability'].plot(kind='box') # se observan valores atipicos , median acercana a 0.8
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Current Liability to Liability'].plot(kind='hist') # distribucion del tipo negativa, concentrcion de valores hacia la derecha
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Current Liability to Liability'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.6269
datos['Current Liability to Liability'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.8068
datos['Current Liability to Liability'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.9420
datos['Current Liability to Liability'].min() # el valos minimo es cero
datos['Current Liability to Liability'].max() # el valor mas alto es 1
datos['Current Liability to Liability'].mode() # el valor que mas se repite es 1
datos['Current Liability to Liability'].median() # indica que el 50% de las empresas presentan un valor menor o igual a 0.8068
datos['Current Liability to Liability'].mean() # el promedio es de 0.76159
datos['Current Liability to Liability'].std() # los valores se alejan del promedio en 0.20667
79.Analisis Exploratorio de la Caracteristica Current Liability to Equity
La relación D / E es una métrica importante utilizada en las finanzas corporativas. Es una medida del grado en que una empresa está financiando sus operaciones a través de deuda frente a fondos de propiedad total.
datos['Current Liability to Equity'].plot(kind='box') # se observan valores atipicos
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Current Liability to Equity'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Current Liability to Equity'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.32809
datos['Current Liability to Equity'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.3296
datos['Current Liability to Equity'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.3323
datos['Current Liability to Equity'].min() # el valor minimo es cero
datos['Current Liability to Equity'].max() # l valor mas alto es 1
datos['Current Liability to Equity'].mode() # distriucion multimodal , valores que se repiten muchas veces
datos['Current Liability to Equity'].median() # indica que el 50 de las empresas presentan un valor menor o igual a 0.929685
datos['Current Liability to Equity'].mean() # el promedio es de 0.3314
datos['Current Liability to Equity'].std() # los valores se alejan del promedio en 0.0134
80.Analisis Exploratorio de la Caracteristica Equity to Long-term Liability
Un índice de apalancamiento que compara el monto total de la deuda a largo plazo con el capital contable de una empresa. El objetivo de esta relación es determinar cuánto apalancamiento está tomando la empresa.
datos['Equity to Long-term Liability'].plot(kind='box') # presenta valores atipicos
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Equity to Long-term Liability'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Equity to Long-term Liability'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.1109
datos['Equity to Long-term Liability'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.1123
datos['Equity to Long-term Liability'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.1171
datos['Equity to Long-term Liability'].min() # el valor minimo es uno
datos['Equity to Long-term Liability'].max() # el valos mas alto es 1
datos['Equity to Long-term Liability'].mode() # el valor que mas se repite es 0.1109
datos['Equity to Long-term Liability'].median() # indica que el 50% de las empresas presentan un valor menor o igual a 0.1123
datos['Equity to Long-term Liability'].mean() # el promedio es 0.1156
datos['Equity to Long-term Liability'].std() # los valores se alejan del promedio en 0.0195
81.Analisis Exploratorio de la Caracteristica Cash Flow to Total Assets
El flujo de efectivo sobre los activos totales es un índice de eficiencia que califica realmente los flujos de efectivo a los activos de la empresa sin verse afectado por el reconocimiento de ingresos o las mediciones de ingresos.
datos['Cash Flow to Total Assets'].plot(kind='box') # se presentan valores atipicos, con una median cercana a 0.64
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Cash Flow to Total Assets'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Cash Flow to Total Assets'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.6332
datos['Cash Flow to Total Assets'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.6453
datos['Cash Flow to Total Assets'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.663
datos['Cash Flow to Total Assets'].min() # el valor minimo es cero
datos['Cash Flow to Total Assets'].max() # el valos mas alto 1
datos['Cash Flow to Total Assets'].mode() # multimodal, varios valores que se repiten mucho
datos['Cash Flow to Total Assets'].median() # indica que el 50% de las empresas presentan un valor menor o igual a 0.6453
datos['Cash Flow to Total Assets'].mean() # el promedio es 0.6497
datos['Cash Flow to Total Assets'].std() # los valores se alejan del promedio en 0.0473
82.Analisis Exploratorio de la Caracteristica Cash Flow to Liability
La relación entre el flujo de efectivo y la deuda compara el flujo de efectivo generado por las operaciones de una empresa con su deuda total. La relación flujo de efectivo a deuda indica cuánto tiempo le tomaría a una empresa pagar toda su deuda si utilizara todo su flujo de efectivo operativo para el pago de la deuda.
datos['Cash Flow to Liability'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Cash Flow to Liability'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Cash Flow to Liability'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.4571
datos['Cash Flow to Liability'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.45975
datos['Cash Flow to Liability'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.464
datos['Cash Flow to Liability'].min() # el valor mas bajo es cero
datos['Cash Flow to Liability'].max() # el valor mas alto es 1
datos['Cash Flow to Liability'].mode() # multimodal , varios numeros que se repiten mucho
datos['Cash Flow to Liability'].median() # indica que el 50% de las empresas presentan un valor menor o igual a 04597
datos['Cash Flow to Liability'].mean() # el promedio es de 0.461849
datos['Cash Flow to Liability'].std() # los valores se alejan del promedio en 0.02994
83.Analisis Exploratorio de la Caracteristica CFO to Assets
Es un índice de eficiencia que califica los flujos de efectivo a los activos de la empresa sin verse afectado por el reconocimiento de ingresos o las mediciones de ingresos.
datos['CFO to Assets'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['CFO to Assets'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['CFO to Assets'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.565
datos['CFO to Assets'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.5932
datos['CFO to Assets'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.624
datos['CFO to Assets'].min() # el valor mas bajo es 0
datos['CFO to Assets'].max() # el valor mas alto es 1
datos['CFO to Assets'].mode() # multimodal , valores que se repiten varias veces
datos['CFO to Assets'].median() # indica que el 50% de las empresas presentan un valor menor o igual a 0.593
datos['CFO to Assets'].mean() # el promedio es 0.593
datos['CFO to Assets'].std() # la desviacion indica en cuanto se alejan los valores del promedio en 0.0585
84.Analisis Exploratorio de la Caracteristica Cash Flow to Equity
El flujo de efectivo a capital es una medida de cuánto efectivo está disponible para los accionistas de capital de una empresa después de que se paguen todos los gastos, reinversiones y deudas.
datos['Cash Flow to Equity'].plot(kind='box') # se observan valores atipicos Q1 = 0.3112 Q3 0.3177, concetracion de valores entre 0.3 y 0.4
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Cash Flow to Equity'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Cash Flow to Equity'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.3129
datos['Cash Flow to Equity'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.3149
datos['Cash Flow to Equity'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.3177
datos['Cash Flow to Equity'].min() # el valor minimo 0
datos['Cash Flow to Equity'].max() # valor maximo es 1
datos['Cash Flow to Equity'].mode() # varios numeros que se repiten varias veces
datos['Cash Flow to Equity'].median() # indica que el 50 % de las empresas presentan un valor menor o igual a 0.3149
datos['Cash Flow to Equity'].mean() # el prdio de cash flow to equity es de 0.31558
datos['Cash Flow to Equity'].std() # los valores se alejan del promedio en 0.012
85.Analisis Exploratorio de la Caracteristica Current Liability to Current Assets
Realiza una comparación de los compromisos circulantes con los Activos circulantes.
datos['Current Liability to Current Assets'].plot(kind='box') # se observan valores atipicos
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Current Liability to Current Assets'].plot(kind='hist') # dsitribucion del tipo positiva
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Current Liability to Current Assets'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.018
datos['Current Liability to Current Assets'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.02759
datos['Current Liability to Current Assets'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.0383
datos['Current Liability to Current Assets'].min() # el valor mas bajo es 0
datos['Current Liability to Current Assets'].max() # el valor mas alto es de 1
datos['Current Liability to Current Assets'].mode() # multimodal varios numeros que se repiten mucho
datos['Current Liability to Current Assets'].median() # indica que el 50% de las empresas presentan un valor menor o igual a 0.0275
datos['Current Liability to Current Assets'].mean() # el promedio es de 0.0315
datos['Current Liability to Current Assets'].std() # los valores se alejan del promedio en 0.03084
86.Analisis Exploratorio de la Caracteristica Liability-Assets Flag
indica el estado de una organización, donde si el pasivo total excede los activos totales, el valor marcado será 1, de lo contrario el valor es 0. La mayoría de las veces, los activos de las organizaciones / empresas son más que sus pasivo.
Una bandera roja es una advertencia o indicador que sugiere que existe un problema o amenaza potencial con las acciones, los estados financieros o los informes de noticias de una empresa. Las señales de alerta pueden ser cualquier característica indeseable que se destaque para un analista o inversor.
datos['Liability-Assets Flag'].plot(kind='box') # caracteristica binaria , la moda es 0
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Liability-Assets Flag'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Liability-Assets Flag'].quantile(0.25)
datos['Liability-Assets Flag'].quantile(0.5)
datos['Liability-Assets Flag'].quantile(0.75)
datos['Liability-Assets Flag'].mode() # el valor que mas se repite es 0
87.Analisis Exploratorio de la Caracteristica Net Income to Total Assets
El rendimiento de los activos (ROA) es un índice financiero que muestra el porcentaje de ganancias que obtiene una empresa en relación con sus recursos generales. Se define comúnmente como el ingreso neto dividido por los activos totales.
datos['Net Income to Total Assets'].plot(kind='box') # se observan valores atipicos , con una mediana cercana a 0.8
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Net Income to Total Assets'].plot(kind='hist') # distribucion tipo negativa
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Net Income to Total Assets'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.796
datos['Net Income to Total Assets'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.8106
datos['Net Income to Total Assets'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.8264
datos['Net Income to Total Assets'].min() # el valor mas bajo es 0
datos['Net Income to Total Assets'].max() # el valor es mas alto es 1
datos['Net Income to Total Assets'].mode() # multimodal, varios valores que se repitan mucho
datos['Net Income to Total Assets'].median() # indica que el 50% de las empresas presentan un valor menor o igual a 0.8106
datos['Net Income to Total Assets'].mean() # el promedio es de 0.8077
datos['Net Income to Total Assets'].std() # los valores se alejan del promedio en 0.0403
88.Analisis Exploratorio de la Caracteristica Total assets to GNP price
Esta caracteristica parece ser un proceso reexpresión por efecto de moneda. (Índice de nivel de precios de activos totales / PNB), una medida de activos reales (RASSET) y Talla. Dado que los activos totales se informan en dólares
datos['Total assets to GNP price'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)}) # se observa valores atipicos
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Total assets to GNP price'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Total assets to GNP price'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.000903
datos['Total assets to GNP price'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.002085
datos['Total assets to GNP price'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.00826
datos['Total assets to GNP price'].min() # valor mas bajo es 0
datos['Total assets to GNP price'].max() # el valor mas alto es 9820000000
datos['Total assets to GNP price'].mode() # el valos que mas se repite es 0.003661
datos['Total assets to GNP price'].median() # indica que el 50 % de las empresas presentan un valor menor o igual a 0.00208
datos['Total assets to GNP price'].mean() # el promedio es de 18629417
datos['Total assets to GNP price'].std() # los valores se pueden alejar del promedio en 376450059
89.Analisis Exploratorio de la Caracteristica No-credit Interval
Indica durante cuánto tiempo la empresa podría satisfacer las necesidades operativas de su stock de activos defensivos después de liquidar todos los pasivos corrientes existentes y pagar en efectivo todas las adquisiciones futuras.
datos['No-credit Interval'].plot(kind='box') # se observan valores atipicos
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['No-credit Interval'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['No-credit Interval'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.6236
datos['No-credit Interval'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.6238
datos['No-credit Interval'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.624
datos['No-credit Interval'].min() # el valor minimo es cero
datos['No-credit Interval'].max() # el valor mas alto es 1
datos['No-credit Interval'].mode() # distribucion multimodal
datos['No-credit Interval'].median() # indica que el 50% de las empresas presentan un valor menor o igual a 0.6238
datos['No-credit Interval'].mean() # el promedio es 0.623914
datos['No-credit Interval'].std() # los valores se desbian del promedio en 0.6239
90.Analisis Exploratorio de la Caracteristica Gross Profit to Sales
La ganancia bruta sirve como métrica financiera utilizada para determinar la rentabilidad bruta de una operación comercial.
datos['Gross Profit to Sales'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Gross Profit to Sales'].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Gross Profit to Sales'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.6004
datos['Gross Profit to Sales'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.6059
datos['Gross Profit to Sales'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.6139
datos['Gross Profit to Sales'].min() # valos minimo es 0
datos['Gross Profit to Sales'].max() # el valor mas alto es 1
datos['Gross Profit to Sales'].mode() # el valor que mas se repite es 0.665149
datos['Gross Profit to Sales'].median() # indica que el 50% de las empresas presentan un valor menor o igual a .6059
datos['Gross Profit to Sales'].mean() # el promedio es 0.6079
datos['Gross Profit to Sales'].std() # los valores se desvian del promedio en 0.0169
91.Analisis Exploratorio de la Caracteristica Net Income to Stockholder's Equity
El rendimiento sobre el capital (ROE) es una medida del desempeño financiero que se calcula dividiendo la utilidad neta por el capital contable. Dado que el capital contable es igual a los activos de una empresa menos su deuda, el ROE se considera el rendimiento de los activos netos.
datos["Net Income to Stockholder's Equity"].plot(kind='box') # se observan valores atipicos , mediana cercana a 0.84
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos["Net Income to Stockholder's Equity"].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos["Net Income to Stockholder's Equity"].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.84101
datos["Net Income to Stockholder's Equity"].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.84117
datos["Net Income to Stockholder's Equity"].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.8423
datos["Net Income to Stockholder's Equity"].min() # el valor mas bajo es cero
datos["Net Income to Stockholder's Equity"].max() # el valor mas alto es 1
datos["Net Income to Stockholder's Equity"].mode() # distribucion multimodal
datos["Net Income to Stockholder's Equity"].median() # indica que el 50% de las empresas presentan un valor menor o igual a 0.8411
datos["Net Income to Stockholder's Equity"].mean() # el promedio es 0.8404
datos["Net Income to Stockholder's Equity"].std() # los valores se desvian e 0.01452
92.Analisis Exploratorio de la Caracteristica Liability to Equity
compara los pasivos totales de una empresa con el capital contable y se puede utilizar para evaluar cuánto apalancamiento está utilizando una empresa
datos["Liability to Equity"].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos["Liability to Equity"].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos["Liability to Equity"].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.2769
datos["Liability to Equity"].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.2787
datos["Liability to Equity"].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.2814
datos["Liability to Equity"].min() # el valor minimo es cero
datos["Liability to Equity"].max() # el valor mas alto es 1
datos["Liability to Equity"].mode() # multimodal, varios numeros que se repiten varias veces
datos["Liability to Equity"].median() # indica que el 50% de las empresas presentan un valor menor o igual a 0.2787
datos["Liability to Equity"].mean() # el promedio de la caracteristica es 0.28036
datos["Liability to Equity"].std() # los valores se alejan del promedio en 0.014
93.Analisis Exploratorio de la Caracteristica Degree of Financial Leverage (DFL)
El grado de apalancamiento financiero (DFL) es un índice de apalancamiento que mide la sensibilidad de las ganancias por acción de una empresa a las fluctuaciones en sus ingresos operativos, como resultado de cambios en su estructura de capital.
datos["Degree of Financial Leverage (DFL)"].plot(kind='box') # valores atipicos
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos["Degree of Financial Leverage (DFL)"].plot(kind='hist') # distribucion del tipo positiva , valores concentrados hacia la izquierda
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos["Degree of Financial Leverage (DFL)"].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.02679
datos["Degree of Financial Leverage (DFL)"].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.02680
datos["Degree of Financial Leverage (DFL)"].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.02691
datos["Degree of Financial Leverage (DFL)"].min() # el valor minimo es 0
datos["Degree of Financial Leverage (DFL)"].max() # el valor maximo es 1
datos["Degree of Financial Leverage (DFL)"].mode() # el valor que mas se repite es 0.026
datos["Degree of Financial Leverage (DFL)"].median() # indica que el 50 % de las empresas presentan un valor menor o igual a 0.026
datos["Degree of Financial Leverage (DFL)"].mean() # el promedio es de 0.0275
datos["Degree of Financial Leverage (DFL)"].std() # los valores se alejan del promedio en 0.0156
94.Analisis Exploratorio de la Caracteristica Interest Coverage Ratio (Interest expense to EBIT)
El índice de cobertura de intereses se calcula dividiendo las ganancias de una empresa antes de intereses e impuestos (EBIT) por su gasto por intereses durante un período determinado. El índice de cobertura de intereses a veces se denomina índice multiplicado por intereses devengados (TIE).
datos["Interest Coverage Ratio (Interest expense to EBIT)"].plot(kind='box') # valores atipicios
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos["Interest Coverage Ratio (Interest expense to EBIT)"].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos["Interest Coverage Ratio (Interest expense to EBIT)"].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.56515
datos["Interest Coverage Ratio (Interest expense to EBIT)"].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.56525
datos["Interest Coverage Ratio (Interest expense to EBIT)"].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.05657
datos["Interest Coverage Ratio (Interest expense to EBIT)"].min() # el valor minimo es 0
datos["Interest Coverage Ratio (Interest expense to EBIT)"].max() # el valor maximo es 1
datos["Interest Coverage Ratio (Interest expense to EBIT)"].mode() # el valor que mas se repite es 0.565158
datos["Interest Coverage Ratio (Interest expense to EBIT)"].median() # indica que el 50% de las empresas presentan un valor menor o igual a 0.56525192
datos["Interest Coverage Ratio (Interest expense to EBIT)"].mean() # el promedio la caracteristica es 0.56535793
datos["Interest Coverage Ratio (Interest expense to EBIT)"].std() # los valores se alejan del promedio en 0.0132142
95.Analisis Exploratorio de la Caracteristica Net Income Flag
La bandera de "Ingresos netos" denota el estado de los ingresos de una organización en los últimos dos años, donde si los ingresos netos son negativos durante los últimos dos años, el valor marcado será 1, de lo contrario el valor es 0. Observamos que todos los Los registros han estado mostrando pérdidas durante los últimos dos años.
datos["Net Income Flag"].plot(kind='box') # caracteristica binaria
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos['Net Income Flag'].quantile(0.25)
datos['Net Income Flag'].quantile(0.5)
datos['Net Income Flag'].quantile(0.75)
datos['Net Income Flag'].mode() # el valor que mas se repite es 1
96.Analisis Exploratorio de la Caracteristica Equity to Liability
La relación deuda-capital (D / E) se utiliza para evaluar el apalancamiento financiero de una empresa y se calcula dividiendo los pasivos totales de una empresa por su capital social.
datos["Equity to Liability"].plot(kind='box') # valores atipicos
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Histograma y Medidas de tendencia central y otros valores de relevancia en el análisis
datos["Equity to Liability"].plot(kind='hist')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos['Equity to Liability'].quantile(0.25) # indica que el 25% de las empresas presentan un valor menor o igual a 0.0244
datos['Equity to Liability'].quantile(0.5) # indica que el 50% de las empresas presentan un valor menor o igual a 0.03379
datos['Equity to Liability'].quantile(0.75) # indica que el 75% de las empresas presentan un valor menor o igual a 0.05283
datos['Equity to Liability'].min() # el valor minimo es cero
datos['Equity to Liability'].max() # el valor mas alto es 1
datos['Equity to Liability'].mode() # distribucion de los valores multimodal, varios valores se repiten mucho
datos['Equity to Liability'].median() # indica que el 50 % de las empresas presentan un valor menor o igual a 0.033797
datos['Equity to Liability'].mean() # el promedio es de 0.0475
datos['Equity to Liability'].std() # los valores se alejan del promedio en 0.05001
Recordemos que Bankrupt?: Aparece como una caracteristica binaria, en donde si indica cero 0, nos dice que la empresa es competente, mientras que si el valor es 1, nos indica que es probable que la empresa caiga en banca rota.
Tabla #1 Ver Según la Categoria de Bankrupt
print(datos["Bankrupt?"].value_counts()) # se representa como se encuentra distribuida las empresas , tenemos 6599 empresas como competente
# mientras que empresas no competente corresponden a 220
labelsbank= ['Competente', 'No Competente']
plt.pie(datos["Bankrupt?"].value_counts(),labels = labelsbank)
plt.show()
print(datos[['Net Income Flag','Bankrupt?']].value_counts()) # distribucion de las emrpesas segun la caracteristica de Net Income Flag, la mayoria de las
sns.countplot(x = 'Net Income Flag',hue = 'Bankrupt?', data=datos) # empresas de tipo que no tienen riesgo de bancarrota segun net income son 6599
datos.groupby(['Bankrupt?']).mean() # se procede a presentar los valores promedio de las caracteristicas segun si la empresa tiene o no riesfo de caer en bancarrota
datos.pivot_table('Accounts Receivable Turnover', index= 'Operating Gross Margin', columns= 'Bankrupt?', aggfunc='mean',fill_value=0)
plt.figure(figsize = (20,20))
datos.pivot_table('Accounts Receivable Turnover', index= 'Operating Gross Margin', columns= 'Bankrupt?', aggfunc='mean',fill_value=0).plot()
plt.title("Operating Gross Margin por Bankrupt?")
plt.ylabel("Bankrupt?")
plt.xlabel("Operating Gross Margin")
plt.show();
# se busca ver como se comporta os valores del gross margin y accounts recivable , segun si la empresa tiene o no riesgo de bancarrota, parece que las empresas
# que son mas competentes o no tienen riesgo de caer en bancarrota tienen un valor en estas caracteristicas mayor que aquellas que si tienen riesgo de bancarrota
datos.pivot_table('Operating Profit Growth Rate', index= 'Operating Gross Margin', columns= 'Bankrupt?', aggfunc='mean',fill_value=0)
plt.figure(figsize = (20,20))
datos.pivot_table('Operating Profit Growth Rate', index= 'Operating Gross Margin', columns= 'Bankrupt?', aggfunc='mean',fill_value=0).plot()
plt.title("Operating Profit Growth Rate por Bankrupt?")
plt.ylabel("Bankrupt?")
plt.xlabel("Operating Gross Margin")
plt.show();
# segun si la empresa tiene o no riesgo de bancarrota, parece que las empresas
# que son mas competentes o no tienen riesgo de caer en bancarrota tienen un valor en estas caracteristicas mayor que aquellas que si tienen riesgo de bancarrota
Primero se toman o eligen caracteristicas de interes, luego se ordan según orden descendente y /o ascendente para ver las empresas que (datos) que aparecen .Según la matriz de correlación ROA(A) before interest and % after tax y Bankrupt tienen una correlación de 0.282941.
Ver resultados de Tabla 1 ROA(A) before interest and % after tax descendente junto con tabla 2 ROA(A) before interest and % after tax ascendente
prueba1= datos.iloc[:,[0,1,2,6,21,22,25,29,30,35,36]]
table1 = prueba1.sort_values('ROA(A) before interest and % after tax',ascending=False)
table1.head(30) # Las empresas que tienne el valor de ROA(A) before interest and % after tax más alto pertenecen a la categoría Bankrupt 0 (competente)
Tabla 2 ROA(A) before interest and % after tax Ascendente
table2 = prueba1.sort_values('ROA(A) before interest and % after tax',ascending=True)
table2.head(30) # Una vez que se coloca el orden para observar los valores más bajos en la caracteristica OA(A) before interest and % after tax
# aparecen empresas en categoría 1 (que podrían caer en Bankrupt)
table3 = prueba1.sort_values('Operating Profit Growth Rate',ascending=False)
table3.head(30)
table4 = prueba1.sort_values('Operating Profit Growth Rate',ascending=True)
table4.head(30) # Al presentar la caracteristica Operating Profit Growth Rate con los primeros 30 más bajos, aparecen algunas empresas en categoría de Bankrupt? = 1
Selección de Caracteristicas con algún Interes
prueba2 = datos.iloc[:,[0,1,6,25,29,34,45,46,48,71,74,81,89,94]] # Vamos a tomar algunas caracteristicas que representan ratios de Liquidez, Solvencia y Rentabilidad,
# así como el indicador de la income flag
prueba2.head(3)
Según nos indican las Correlaciones si son negativas o inversas, una sube y l aotra nisminuye, mientras que las positivas una sube y la otra también sube. Entre más cercano se encuentre a -1 o 1 la correlación es más fuerte, si se aceerca a cero 0 o da cero, indica que no son dependientes entre sí
datos.corr() # Vamos a elegir variables o caracteristicas que permitan llegar a alguna conclusión y que sean relevantes
# Bankrupt?,ROA(C) before interest and depreciation before interest,
Según nos indican las Correlaciones si son negativas o inversas, una sube y l aotra nisminuye, mientras que las positivas una sube y la otra también sube. Entre más cercano se encuentre a -1 o 1 la correlación es más fuerte, si se aceerca a cero 0 o da cero, indica que no son dependientes entre sí
cor_matrix = datos.corr().abs() # esta versión permite colorear aquellas correlaciones que nos llaman la atención tanto positivas como negativas
cor_matrix.style.background_gradient(sns.light_palette('red', as_cmap=True)) # código tomado de la web en que aplican este método, es muy útil ayuda cuando hay muchas variables
cor_matrix = prueba2.corr().abs() # esta versión permite colorear aquellas correlaciones que nos llaman la atención tanto positivas como negativas
cor_matrix.style.background_gradient(sns.light_palette('red', as_cmap=True)) # código tomado de la web en que aplican este método, es muy útil ayuda cuando hay muchas variables
Se observan correlaciones fuertes entre varias caracteristicas, en lo que respecta a las correlaciones posivitas , endonde si una aumenta la otra tambien se encuentra por ejemplo:
La característica que indica el comportamiento de las empesas Bankrupt?, presenta una correlación media co n las características del tipo de ROA before interest , presentando con las tres valores de 0.26 , 0.28 y 0.27
La característica que indica el comportamiento de las empesas Bankrupt?, presenta una correlación media con la característica Debt ratio %, con un valor de 0.25 Bankrupt?, presenta una correlación media con la característica Net worth/Assets con un valor de 0.25
Bankrupt?, presenta una correlación media con la característica Net profit before tax/Paid-in capital con un valor de 0.2
ROA(C) before interest and depreciation before interest junto a las caracteristicas similares que corresponden ROA(A) before interest and % after tax y ROA(B) before interest and depreciation after tax, presentan una correlación alta.
Realized Sales Gross Margin y la característica Operating Gross Margin tienen una correlación alta de 0.999
Persistent EPS in the Last Four Seasons tiene una correlacion alta con las characteristicas OA(C) before interest and depreciation before interest, ROA(A) before interest and % after tax y ROA(B) before interest and depreciation after tax, para valores de alrrededor de 0.76
Persistent EPS in the Last Four Seasons presenta una correlacion alta con las caracteristicas de Net Value Per Share, con un valor de 0.75
Operating profit/Paid-in capital presenta una correlacion alta con Persistent EPS in the Last Four Seasons
Net Income to Total Assets presenta alta correlacion con las características ROA (las tres características de similitud) con valores de 0.88, 096 y 0.91
Current Liabilities/Equity presenta una alta correlación con la característica de Borrowing dependency y Contingent liabilities/Net worth, con valors de 0.89 y 0.62 respectivamente
Cash Flow to Total Assets presenta una alta correlacion con Cash Flow to Liability y la caracteristica Cash Flow to Equity
corrdat = datos.iloc[:,[0,1,2,3,4,5,6,7,8,9]]
f,ax = plt.subplots(figsize=(12,12))
sns.heatmap(corrdat.corr(method='spearman'),annot=True,vmin=-1, vmax=1, center= 0)
plt.show()
corrdat1 = prueba2
f,ax = plt.subplots(figsize=(12,12))
sns.heatmap(corrdat1.corr(method='spearman'),annot=True,vmin=-1, vmax=1, center= 0)
plt.show()
corrdat2= datos.iloc[:,[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36]]
f,ax = plt.subplots(figsize=(15,15))
sns.heatmap(corrdat2.corr(method='spearman'),annot=True,vmin=-1, vmax=1, center= 0)
plt.show()
ROA(C) before interest and depreciation before interest junto a las caracteristicas similares que corresponden ROA(A) before interest and % after tax y ROA(B) before interest and depreciation after tax, presentan una correlación alta.
Realized Sales Gross Margin y la característica Operating Gross Margin tienen una correlación alta de 0.999
Persistent EPS in the Last Four Seasons tiene una correlacion alta con las characteristicas OA(C) before interest and depreciation before interest, ROA(A) before interest and % after tax y ROA(B) before interest and depreciation after tax, para valores de alrrededor de 0.76
Persistent EPS in the Last Four Seasons presenta una correlacion alta con las caracteristicas de Net Value Per Share, con un valor de 0.75
Operating profit/Paid-in capital presenta una correlacion alta con Persistent EPS in the Last Four Seasons
Net Income to Total Assets presenta alta correlacion con las características ROA (las tres características de similitud) con valores de 0.88, 096 y 0.91
Current Liabilities/Equity presenta una alta correlación con la característica de Borrowing dependency y Contingent liabilities/Net worth, con valors de 0.89 y 0.62 respectivamente
Cash Flow to Total Assets presenta una alta correlacion con Cash Flow to Liability y la caracteristica Cash Flow to Equity
f,ax = plt.subplots(figsize=(60,60))
sns.heatmap(datos.corr(method='spearman'),annot=True,vmin=-1, vmax=1, center= 0)
plt.show()
from pandas.plotting import scatter_matrix
scatter_matrix((datos[['Bankrupt?','ROA(C) before interest and depreciation before interest','ROA(A) before interest and % after tax','ROA(B) before interest and depreciation after tax','Operating Gross Margin','Realized Sales Gross Margin','Operating Profit Rate','Pre-tax net Interest Rate','After-tax net Interest Rate','Non-industry income and expenditure/revenue']]),figsize = (20, 20));
Por el tipo de variables, el cálculo de los ANOVAS y PV values, no aportarian resultados manejables o para interpretar, por lo tanto no se proceden a calcular
datos
datos1= datos.copy()
datos1
X = datos1 # Renombrando variable para utilizarla en Scikit-Learn
# Normalizando dataframe
scaler = StandardScaler()
X_std = scaler.fit_transform(X)
# Importando PCA
pca = PCA()
pca.fit(X_std)
evr = pca.explained_variance_ratio_
evr
# Ploteando grafico de Componentes principales
fig = plt.figure(figsize=(8,8))
plt.plot(range(1, len(X.columns)+1), evr.cumsum(), marker='o', linestyle=':')
plt.xlabel('Numero de Componentes', fontsize=18)
plt.ylabel('Varianza Acumulada Explicada',fontsize=18)
plt.xticks(fontsize=16)
plt.yticks(fontsize=16)
plt.show()
# Iteracion para comprobar numero de componentes optimos a utilizar por su nivel de varianza
for i, exp_var in enumerate(evr.cumsum()):
if exp_var >= 0.8:
n_comps = i + 1
break
print("Numero de Componentes Optimos:", n_comps)
pca = PCA(n_components=n_comps)
pca.fit(X_std)
scores_pca = pca.transform(X_std)
# Encontrando el punto del codo de la curva de WCSS (dentro de la suma de cuadrados) usando el KneedLocator
wcss = []
max_clusters = 21
for i in range(1, max_clusters):
kmeans_pca = KMeans(i, init='k-means++', random_state=42)
kmeans_pca.fit(scores_pca)
wcss.append(kmeans_pca.inertia_)
n_clusters = KneeLocator([i for i in range(1, max_clusters)], wcss, curve='convex', direction='decreasing').knee
print("Numero de Clusters Optimos:", n_clusters)
# Ploteando grafico
fig = plt.figure(figsize=(8,8))
plt.plot(range(1, 21), wcss, marker='o', linestyle=':')
plt.vlines(KneeLocator([i for i in range(1, max_clusters)], wcss, curve='convex',
direction='decreasing').knee, ymin=min(wcss), ymax=max(wcss), linestyles='dashed')
plt.xlabel('Numero de Clusters', fontsize=18)
plt.ylabel('Dentro del cluster [Suma de cuadrados] (WCSS)', fontsize=18)
plt.xticks(fontsize=16)
plt.yticks(fontsize=16)
plt.show()
# Creando la optimizacion de parametros con PCA y K-Means
kmeans_pca = KMeans(n_clusters=n_clusters, init='k-means++', random_state=42)
kmeans_pca.fit(scores_pca);
# Etiquentando cada uno de los datos dentro del cluster respectivo
df_seg_pca_kmeans = pd.concat([pd.DataFrame(X.reset_index(drop=True)), pd.DataFrame(scores_pca)], axis=1)
df_seg_pca_kmeans.columns.values[(-1*n_comps):] = ["Component " + str(i+1) for i in range(n_comps)]
df_seg_pca_kmeans['Cluster'] = kmeans_pca.labels_
df_seg_pca_kmeans.head()
# Creando visualizacion de los datos con PCA
x = df_seg_pca_kmeans['Component 2']
y = df_seg_pca_kmeans['Component 1']
fig = plt.figure(figsize=(10, 8))
sns.scatterplot(x, y, hue=df_seg_pca_kmeans['Cluster'], palette = ['tab:blue', 'tab:orange', 'tab:green', 'tab:red', 'tab:purple', 'tab:cyan', 'tab:pink', 'tab:gray', 'tab:olive', 'goldenrod'])
plt.title('Clusters vistos con PCA', fontsize=20)
plt.xlabel("Componente 2", fontsize=18)
plt.ylabel("Componente 1", fontsize=18)
plt.xticks(fontsize=16)
plt.yticks(fontsize=16)
plt.show();
Ests aplicacion del modelo de clusterizacion se realizó con la selección automatica de las caracteristicas, los cluster o grupos generados no quedan claramente, se procederá a realizar una selección de caracteristicas y aplicación de limpieza de atipicos para observar los cambios en la clusterizacioón
# Creando visualizacion de los datos con PCA
x = df_seg_pca_kmeans['Component 3']
y = df_seg_pca_kmeans['Component 4']
fig = plt.figure(figsize=(10, 8))
sns.scatterplot(x, y, hue=df_seg_pca_kmeans['Cluster'], palette = ['tab:blue', 'tab:orange', 'tab:green', 'tab:red', 'tab:purple', 'tab:cyan', 'tab:pink', 'tab:gray', 'tab:olive','goldenrod'])
plt.title('Clusters vistos con PCA', fontsize=20)
plt.xlabel("Componente 3", fontsize=18)
plt.ylabel("Componente 4", fontsize=18)
plt.xticks(fontsize=16)
plt.yticks(fontsize=16)
plt.show();
# Creando visualizacion de los datos con PCA
x = df_seg_pca_kmeans['Component 10']
y = df_seg_pca_kmeans['Component 9']
fig = plt.figure(figsize=(10, 8))
sns.scatterplot(x, y, hue=df_seg_pca_kmeans['Cluster'], palette = ['tab:blue', 'tab:orange', 'tab:green', 'tab:red', 'tab:purple', 'tab:cyan', 'tab:pink', 'tab:gray', 'tab:olive','goldenrod'])
plt.title('Clusters vistos con PCA', fontsize=20)
plt.xlabel("Componente 10", fontsize=18)
plt.ylabel("Componente 9", fontsize=18)
plt.xticks(fontsize=16)
plt.yticks(fontsize=16)
plt.show();
Prueba de Modelo Cluster Con Caracteristicas Seleccionadas
prueba3 = datos.iloc[:,[0,1,6,25,29,34,45,46,48,71,74,81,89,94]]
prueba3.head(3)
# Renombrando variable para utilizarla en Scikit-Learn
X = prueba3
# Normalizando dataframe
scaler = StandardScaler()
X_std = scaler.fit_transform(X)
# Importando PCA
pca = PCA()
pca.fit(X_std)
# El atributo muestra cuanta varianza es explicada por cada uno de las 13 variables
evr = pca.explained_variance_ratio_
evr
# Ploteando grafico de Componentes principales
fig = plt.figure(figsize=(8,8))
plt.plot(range(1, len(X.columns)+1), evr.cumsum(), marker='o', linestyle=':')
plt.xlabel('Numero de Componentes', fontsize=18)
plt.ylabel('Varianza Acumulada Explicada',fontsize=18)
plt.xticks(fontsize=16)
plt.yticks(fontsize=16)
plt.show()
# Iteracion para comprobar numero de componentes optimos a utilizar por su nivel de varianza
for i, exp_var in enumerate(evr.cumsum()):
if exp_var >= 0.8:
n_comps = i + 1
break
print("Numero de Componentes Optimos:", n_comps)
pca = PCA(n_components=n_comps)
pca.fit(X_std)
scores_pca = pca.transform(X_std)
# Encontrando el punto del codo de la curva de WCSS (dentro de la suma de cuadrados) usando el KneedLocator
wcss = []
max_clusters = 21
for i in range(1, max_clusters):
kmeans_pca = KMeans(i, init='k-means++', random_state=42)
kmeans_pca.fit(scores_pca)
wcss.append(kmeans_pca.inertia_)
n_clusters = KneeLocator([i for i in range(1, max_clusters)], wcss, curve='convex', direction='decreasing').knee
print("Numero de Clusters Optimos:", n_clusters)
# Ploteando grafico
fig = plt.figure(figsize=(8,8))
plt.plot(range(1, 21), wcss, marker='o', linestyle=':')
plt.vlines(KneeLocator([i for i in range(1, max_clusters)], wcss, curve='convex',
direction='decreasing').knee, ymin=min(wcss), ymax=max(wcss), linestyles='dashed')
plt.xlabel('Numero de Clusters', fontsize=18)
plt.ylabel('Dentro del cluster [Suma de cuadrados] (WCSS)', fontsize=18)
plt.xticks(fontsize=16)
plt.yticks(fontsize=16)
plt.show()
# Creando la optimizacion de parametros con PCA y K-Means
kmeans_pca = KMeans(n_clusters=n_clusters, init='k-means++', random_state=42)
kmeans_pca.fit(scores_pca);
# Etiquentando cada uno de los datos dentro del cluster respectivo
df_seg_pca_kmeans = pd.concat([pd.DataFrame(X.reset_index(drop=True)), pd.DataFrame(scores_pca)], axis=1)
df_seg_pca_kmeans.columns.values[(-1*n_comps):] = ["Component " + str(i+1) for i in range(n_comps)]
df_seg_pca_kmeans['Cluster'] = kmeans_pca.labels_
df_seg_pca_kmeans.head()
# Creando visualizacion de los datos con PCA
x = df_seg_pca_kmeans['Component 2']
y = df_seg_pca_kmeans['Component 1']
fig = plt.figure(figsize=(10, 8))
sns.scatterplot(x, y, hue=df_seg_pca_kmeans['Cluster'], palette = ['tab:blue', 'tab:orange', 'tab:green', 'tab:red', 'tab:purple', 'tab:cyan', 'tab:pink', 'tab:gray', 'goldenrod'])
plt.title('Clusters vistos con PCA', fontsize=20)
plt.xlabel("Componente 2", fontsize=18)
plt.ylabel("Componente 1", fontsize=18)
plt.xticks(fontsize=16)
plt.yticks(fontsize=16)
plt.show();
Se observan cluster sobrepuestos así como no claramente definidos, se procederá a realizar la prueba de limpieza de los atipicos para observar el cambio en los cluster.
# Importando bibliotecas
from pandas import read_csv
import pandas as pd #manejo y estructuracion de datos y su manipulación
from pandas.plotting import scatter_matrix #diagramas de correlacción
from matplotlib import pyplot #Hacer gráficos en python
from sklearn.model_selection import train_test_split #lograr dividir las muestras
from sklearn.model_selection import cross_val_score #validación cruzada score
from sklearn.model_selection import StratifiedKFold #validacion cruzada
from sklearn.metrics import classification_report
from sklearn.metrics import confusion_matrix #matriz de confusión
from sklearn.metrics import accuracy_score #score de validación cruzada
# Modelos de ML con que se va a trabajar
from sklearn.metrics import accuracy_score #score de validación cruzada
from sklearn.linear_model import LogisticRegression #regresion logística
from sklearn.tree import DecisionTreeClassifier #arboles de decision
from sklearn.neighbors import KNeighborsClassifier #KNN
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis #Análisis discriminante lineal
from sklearn.naive_bayes import GaussianNB #Gauss Bayesiana
from sklearn.svm import SVC # Maquinas de Soporte Vectorial
from sklearn.model_selection import train_test_split
# Conjunto de datos de validación dividida
# Con el 80% se crea el modelo y con el 20% se entrena
array = prueba2.values #los datos ahora se transforman en un arreglo
X = array[:,1:13] # se toman los datos, sin la clase de clasificación, son 4 posiciones, por eso 4
y = array[:,0] # se toman los datos después de la posición 4, en este caso las clases.
# Se dividen los datos en conjunto de entrenamiento y prueba, se utiliza random_state = 0 para que no dé
# resultados diferentes si se vuelve a correr.
X_train, X_test, Y_train, Y_test = train_test_split(X, y, test_size=0.20, random_state=0)
Se va a probar con los siguientes algoritmos:
# Algoritmos de Comprobación, se guardan en una lista
models = []
models.append(('LR', LogisticRegression(solver='liblinear', multi_class='ovr')))
models.append(('LDA', LinearDiscriminantAnalysis()))
models.append(('KNN', KNeighborsClassifier()))
models.append(('CART', DecisionTreeClassifier()))
models.append(('NB', GaussianNB()))
models.append(('SVC', SVC()))
#Se debe seleccionar el mejor modelo, ya que ahora se tienen 6 modelos y estimaciones de precisión para cada uno,
#por ello se necesita comparar los modelos entre sí y seleccionar el más preciso.
import warnings
warnings.filterwarnings('ignore')
resultados = []
names = []
# Si se necesita tanto el índice o nombre, así como el elemento, se usa for indice, elemento en lista
for name, model in models:
kfold = StratifiedKFold(n_splits=10, random_state=1, shuffle=True) # Declaracion de la validación cruzada, las características
cv_resultados = cross_val_score(model, X_train, Y_train, cv=kfold, scoring='accuracy') # genera la precisión de la validación cruzada y la guarda en la variable cv_resultados en lista
resultados.append(cv_resultados) # genera la precisión de la validación cruzada y la guarda en la variable cv_resultados en matrices, esto para hacer el boxplot.
names.append(name) # names en matrices
print('%s: %f (%f)' % (name, cv_resultados.mean(), cv_resultados.std()))
# vamos a elegir el SVC
# Haciendo predicciones y evaluación del dataset
model = SVC()
model.fit(X_train, Y_train)
prediccion = model.predict(X_test)
mc =pd.DataFrame(confusion_matrix(Y_test, prediccion, labels=[0,1]),
index = [0,1],
columns = [0,1])
# Evaluando Predicciones
print("ROC:", accuracy_score(Y_test, prediccion),sep='\n')
print("")
print("Matriz de Confusión:", mc,sep='\n')
from sklearn.linear_model import LogisticRegression
classifier = LogisticRegression(random_state=10)
classifier.fit(X_train, Y_train)
y_pred = classifier.predict(X_test)
cm = confusion_matrix(Y_test, y_pred) # vemos una identificación de 1318 identificados correctamente, mientras que se identificaron 46 falss negativos
print(cm)
empresa1 = classifier.predict([[0.37,0.95,0.85,5.667,0.003,0.002,0.0126,1.0667,5.45,3.85,0.385,0]]) # predicción
print(empresa1)
prueba2.head(3)
prueba2.plot(kind='box') # vamos a limpiar los atipicos sin afectar materialmente (no quitar de más) el contenido de los datos en este dataset
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
datos = datos.rename(columns={"ROA(C) before interest and depreciation before interest":"ROA_C", 'Operating Profit Rate':'Operating_Profit_Rate', 'Total Asset Growth Rate':'Total_Asset_Growth_Rate','Current Asset Turnover Rate':'Current_Asset_Turnover_Rate', 'Cash Flow to Liability':'Cash_Flow_to_Liability', 'Operating Profit Growth Rate':'Operating_Profit_Growth_Rate','Accounts Receivable Turnover':'Accounts_Receivable_Turnover','Quick Ratio':'Quick_Ratio'})
datos.columns
prueba2 = datos.iloc[:,[0,1,6,25,29,34,45,46,48,71,74,81,89,94]] # Vamos a tomar algunas caracteristicas que representan ratios de Liquidez, Solvencia y Rentabilidad,
# así como el indicador de la income flag
prueba2.head(3)
prueba2['ROA_C'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
quantiles = np.percentile(prueba2['ROA_C'], [25,50,75])
quantiles
# Analizando desde el punto de dispersion de los datos
median = quantiles[1]
IQR = quantiles[2]-quantiles[0]
sigma = 0.75*IQR
prueba2 = prueba2.query("(ROA_C > @median - 2*@sigma) & (ROA_C < @median + 2*@sigma)")
prueba2['ROA_C'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
prueba2['Operating_Profit_Rate'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
quantiles = np.percentile(prueba2['Operating_Profit_Rate'], [25,50,75])
quantiles
# Analizando desde el punto de dispersion de los datos
median = quantiles[1]
IQR = quantiles[2]-quantiles[0]
sigma = 0.75*IQR
prueba2 = prueba2.query("(Operating_Profit_Rate > @median - 2*@sigma) & (Operating_Profit_Rate < @median + 2*@sigma)")
prueba2['Operating_Profit_Rate'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
prueba2['Total_Asset_Growth_Rate'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
quantiles = np.percentile(prueba2['Total_Asset_Growth_Rate'], [25,50,75])
quantiles
# Analizando desde el punto de dispersion de los datos
median = quantiles[1]
IQR = quantiles[2]-quantiles[0]
sigma = 0.75*IQR
prueba2 = prueba2.query("(Total_Asset_Growth_Rate> @median - 2*@sigma) & (Total_Asset_Growth_Rate < @median + 2*@sigma)")
prueba2['Total_Asset_Growth_Rate'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
prueba2['Current_Asset_Turnover_Rate'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
quantiles = np.percentile(prueba2['Current_Asset_Turnover_Rate'], [25,50,75])
quantiles
# Analizando desde el punto de dispersion de los datos
median = quantiles[1]
IQR = quantiles[2]-quantiles[0]
sigma = 0.75*IQR
prueba2 = prueba2.query("(Current_Asset_Turnover_Rate> @median - 1*@sigma) & (Current_Asset_Turnover_Rate < @median + 1*@sigma)")
prueba2['Current_Asset_Turnover_Rate'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Cash_Flow_to_Liability
prueba2['Cash_Flow_to_Liability'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
quantiles = np.percentile(prueba2['Cash_Flow_to_Liability'], [25,50,75])
quantiles
# Analizando desde el punto de dispersion de los datos
median = quantiles[1]
IQR = quantiles[2]-quantiles[0]
sigma = 0.75*IQR
prueba2 = prueba2.query("(Cash_Flow_to_Liability> @median - 2*@sigma) & (Cash_Flow_to_Liability < @median + 2*@sigma)")
prueba2['Cash_Flow_to_Liability'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Operating Profit Growth Rate
prueba2['Operating_Profit_Growth_Rate'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
quantiles = np.percentile(prueba2['Operating_Profit_Growth_Rate'], [25,50,75])
quantiles
# Analizando desde el punto de dispersion de los datos
median = quantiles[1]
IQR = quantiles[2]-quantiles[0]
sigma = 0.75*IQR
prueba2 = prueba2.query("(Operating_Profit_Growth_Rate > @median - 2*@sigma) & (Operating_Profit_Growth_Rate < @median + 2*@sigma)")
prueba2['Operating_Profit_Growth_Rate'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Accounts_Receivable_Turnover
prueba2['Accounts_Receivable_Turnover'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
quantiles = np.percentile(prueba2['Accounts_Receivable_Turnover'], [25,50,75])
quantiles
# Analizando desde el punto de dispersion de los datos
median = quantiles[1]
IQR = quantiles[2]-quantiles[0]
sigma = 0.75*IQR
prueba2 = prueba2.query("(Accounts_Receivable_Turnover > @median - 2*@sigma) & (Accounts_Receivable_Turnover < @median + 2*@sigma)")
prueba2['Accounts_Receivable_Turnover'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
Quick_Ratio
prueba2['Quick_Ratio'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
quantiles = np.percentile(prueba2['Quick_Ratio'], [25,50,75])
quantiles
# Analizando desde el punto de dispersion de los datos
median = quantiles[1]
IQR = quantiles[2]-quantiles[0]
sigma = 0.75*IQR
prueba2 = prueba2.query("(Quick_Ratio > @median - 3*@sigma) & (Quick_Ratio < @median + 3*@sigma)")
prueba2['Quick_Ratio'].plot(kind='box')
sns.set(rc={'figure.figsize':(7,7)})
plt.show()
prueba2.plot(kind='box') # vamos a limpiar los atipicos sin afectar materialmente (no quitar de más) el contenido de los datos en este dataset
sns.set(rc={'figure.figsize':(12,12)})
plt.show()
prueba2.plot(kind='box',subplots=True, layout=(4,4), sharex=False, sharey=False)
sns.set(rc={'figure.figsize':(20,20)})
plt.show()
X = prueba2 # Renombrando variable para utilizarla en Scikit-Learn
# Normalizando dataframe
scaler = StandardScaler()
X_std = scaler.fit_transform(X)
# Importando PCA
pca = PCA()
pca.fit(X_std)
# El atributo muestra cuanta varianza es explicada por cada uno de las 13 variables
evr = pca.explained_variance_ratio_
evr
# Ploteando grafico de Componentes principales
fig = plt.figure(figsize=(8,8))
plt.plot(range(1, len(X.columns)+1), evr.cumsum(), marker='o', linestyle=':')
plt.xlabel('Numero de Componentes', fontsize=18)
plt.ylabel('Varianza Acumulada Explicada',fontsize=18)
plt.xticks(fontsize=16)
plt.yticks(fontsize=16)
plt.show()
# Iteracion para comprobar numero de componentes optimos a utilizar por su nivel de varianza
for i, exp_var in enumerate(evr.cumsum()):
if exp_var >= 0.8:
n_comps = i + 1
break
print("Numero de Componentes Optimos:", n_comps)
pca = PCA(n_components=n_comps)
pca.fit(X_std)
scores_pca = pca.transform(X_std)
# Encontrando el punto del codo de la curva de WCSS (dentro de la suma de cuadrados) usando el KneedLocator
wcss = []
max_clusters = 21
for i in range(1, max_clusters):
kmeans_pca = KMeans(i, init='k-means++', random_state=42)
kmeans_pca.fit(scores_pca)
wcss.append(kmeans_pca.inertia_)
n_clusters = KneeLocator([i for i in range(1, max_clusters)], wcss, curve='convex', direction='decreasing').knee
print("Numero de Clusters Optimos:", n_clusters)
# Ploteando grafico
fig = plt.figure(figsize=(8,8))
plt.plot(range(1, 21), wcss, marker='o', linestyle=':')
plt.vlines(KneeLocator([i for i in range(1, max_clusters)], wcss, curve='convex',
direction='decreasing').knee, ymin=min(wcss), ymax=max(wcss), linestyles='dashed')
plt.xlabel('Numero de Clusters', fontsize=18)
plt.ylabel('Dentro del cluster [Suma de cuadrados] (WCSS)', fontsize=18)
plt.xticks(fontsize=16)
plt.yticks(fontsize=16)
plt.show()
# Creando la optimizacion de parametros con PCA y K-Means
kmeans_pca = KMeans(n_clusters=n_clusters, init='k-means++', random_state=42)
kmeans_pca.fit(scores_pca);
# Etiquentando cada uno de los datos dentro del cluster respectivo
df_seg_pca_kmeans = pd.concat([pd.DataFrame(X.reset_index(drop=True)), pd.DataFrame(scores_pca)], axis=1)
df_seg_pca_kmeans.columns.values[(-1*n_comps):] = ["Component " + str(i+1) for i in range(n_comps)]
df_seg_pca_kmeans['Cluster'] = kmeans_pca.labels_
df_seg_pca_kmeans.head()
# Creando visualizacion de los datos con PCA
x = df_seg_pca_kmeans['Component 2']
y = df_seg_pca_kmeans['Component 1']
fig = plt.figure(figsize=(10, 8))
sns.scatterplot(x, y, hue=df_seg_pca_kmeans['Cluster'], palette = ['tab:blue', 'tab:orange', 'tab:green', 'tab:red', 'tab:purple', 'tab:pink'])
plt.title('Clusters vistos con PCA', fontsize=20)
plt.xlabel("Componente 2", fontsize=18)
plt.ylabel("Componente 1", fontsize=18)
plt.xticks(fontsize=16)
plt.yticks(fontsize=16)
plt.show();
Se observa mas disperso los cluster en esta prueba realizada posteriormente a la limpieza de los valores atipicios
Por medio del uso de modelos de Machine Learning Se pueden evaluar las variables que influyen en la determinación o no de la posibilidad que una empresa presente bancarrota. Estas posibilidades que se aplican a la determinación de las posibilidades financieras de una empresa, pueden aplicarse a individuos en procesos de clasificación o aprobación de créditos.
Se recibió un dataset con información financiera que ayduda al proceso de análisis crediticio, apra determinar si las empresas podrían o no caer en bancarota.
Por lo que en el proceso de este análisis formuláos las siguientes preguntas:
Qué se requiere analizar en una empresa para determinar la salud o liquidez financiera?
Según la información brindada se puede inferir si una empresa puede o no caer en bancarrota?
data1.describe()
# Detalle de los tipos de Ratios Financieros que se utilizan en Evaluaciones Financieras
from PIL import Image
Image.open('/content/drive/MyDrive/Data Sets/Types-of-Ratio.png')
Los tres elementos determinantes de todo análisis financiero son:
Liquidez: capacidad para hacer frente y cumplir con sus obligaciones financieras a corto plazo.
Solvencia: como responder a los compromisos de largo plazo (endeudamiento).
Rentabilidad: capacidad de generar ingresos/beneficios, se puede medir el nivel de eficiencia con el que los recursos son utilizados en la empresa.
Según se indica en Análisis y Dianóstico Financiero Enfoque Integral. Tarcisio Salas (2012). El análisis financiero permite evaluar el cumplimiento de las metas y planes y el desempeño de la empresa en las áreas claves de la administración. La obtención y utilización de fondos se reflejan en el balance general. Los ingresos, costos, gastos, y ganancias, derivados del manejo de fondos en las operaciones, se concretan en el estado de resultados. El análisis financiero examina las relaciones entre datos de ambos estados, con la finalidad de calificar la gestión y el grado de éxito alcanzado por la empresa. Los tópicos más importantes cubiertos por el análisis son los siguientes:
Uso de código visto en la web
PETR KOLAR https://www.kaggle.com/petrkolar/ml-workflow-0-99-f1
MULTICOLLINEARITY (CORRELATION BETWEEN PREDICTOR VARIABLES)
cor_matrix = df.corr().abs() cor_matrix.style.background_gradient(sns.light_palette('red', as_cmap=True))
Para referencia de información (https://isslab.csie.ncu.edu.tw/download/publications/1.pdf) Financial ratios and corporate governance indicators in bankruptcy prediction: A comprehensive study
Measuring the Defensive Position of a Firm, Sidney Davidson, George H. Sorter and Hemu Kalle